如何解决在 3D 表面上切换 X 和 Y 轴
我正在尝试绘制滚动相关性的表面 - 10 天到 200 天。
st = {'10': [-0.2,0.4,0.1],'20': [0.6,0.3,0],'30': [-0.4,0.6,0.2],'40': [0.1,0.2,0.4]}
st = pd.DataFrame(data=st)
st.index = pd.date_range("20200101",periods=3)
st
10 20 30 40
2020-01-01 -0.2 0.6 -0.4 0.1
2020-01-02 0.4 0.3 0.6 0.2
2020-01-03 0.1 0.0 0.2 0.4
fig = plt.figure()
fig = plt.figure(figsize=(12,10))
ax = fig.gca(projection='3d')
x = st.columns
y = np.arange(0,len(st),1)
X,Y = np.meshgrid(x,y)
Z = st
ax.plot_surface(X,Y,Z,cmap=cm.coolwarm,linewidth=0,antialiased=False)
dates = st.index
ax.xaxis.set_ticks(np.arange(10,210,10))
ax.yaxis.set_ticks(y)
ax.yaxis.set_ticklabels(dates);
但是,x 轴和 y 轴是相反的。我正在尝试获取沿 x 轴的日期和沿 y 轴的滚动相关性。
我试过了:
fig = plt.figure()
fig = plt.figure(figsize=(12,10))
ax = fig.gca(projection='3d')
x,y = np.meshgrid(st.index,st.columns)
z = st
ax.plot_surface(x,y,z,10))
ax.yaxis.set_ticks(y)
ax.yaxis.set_ticklabels(dates);
但我收到以下错误:
ValueError:形状不匹配:对象不能广播到单个形状
谁能帮我解决我哪里出错了?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。