如何解决'c' 参数有 253 个元素,不能用于大小为 253 的 'x',大小为 253 的 'y'
我正在尝试创建一个散点图,它会根据数据的日期使用 cmap 显示不同的颜色。我创建了一个“地图”列,它根据日期采用浮点值,日期越近,值越高。
我收到了这条对用户非常不友好的错误消息“'c' 参数有 253 个元素,这对于大小为 253 的 'x' 和大小为 253 的 'y' 来说是不可接受的。”
我不知道如何修复它...我将在下面发布我的代码(我是 Python 新手,如果它看起来很糟糕,请见谅)。
仅供参考 = df 中的所有数据都是浮点值;该代码仅考虑数据帧的一部分(从开始日期到结束日期)。请询问是否需要更多信息。
先谢谢你!!!
#------- 代码 -----
s = start_date_backtest()
e = end_date_backtest()
sd_mult = 1.5
X = df['PX MID (Equity)'][s:-e].values.reshape(-1,1)
Y = df['IV SKEW'][s:-e].values.reshape(-1,1)
linear_regressor = LinearRegression()
linear_regressor.fit(X,Y)
Y_pred = linear_regressor.predict(X)
# R Squared
SS_Residual = sum((Y-Y_pred)**2)
SS_Total = sum((Y-np.mean(Y))**2)
r_squared = (1 - (float(SS_Residual))/SS_Total)*100
r_out = round(r_squared[0],2)
print(f'R sq = {float(r_out)}%')
# Title,Axis and size
plt.figure(figsize=(18,9))
plt.title(company,fontsize=22,fontweight='bold')
plt.xlabel('PX MID (Equity)',fontsize=20)
plt.ylabel('IV SKEW',fontsize=20)
# Predicted line + Deviation Bands
plt.plot(X,Y_pred,color='red')
plt.plot(X,Y_pred + np.std(Y)*sd_mult,color='green',linestyle='dashed')
plt.plot(X,Y_pred - np.std(Y)*sd_mult,linestyle='dashed')
# Map values with dates (0 first date,1 second date. etc)
x = 0
for n in df['DATES']:
df['Map'].iloc[x] = x
df['Map'].iloc[x] = df['Map'].iloc[x].astype(float)
x += 1
# Plot
plt.scatter(X,Y,s=30,cmap = 'RdPu',c = df['Map'][s:-e])
plt.show()
#----- 没有 cmap 的原始结果 ------
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。