我试图制作一个类似于this的数字。代码就像
fig = plt.figure()
ax = fig.gca(projection='3d')
def cc(arg):
return mcolors.to_rgba(arg, alpha=0.6)
xs = np.arange(0, data.shape[0])
verts = []
zs = [0.0, 1.0, 2.0, 3.0, 4.0, 5.0]
for idx, value in enumerate(zs):
ys = data[data.columns[idx]]
ys[0], ys[-1] = 0, 0
verts.append(list(zip(xs, ys)))
poly = PolyCollection(verts, facecolors=[cc('r'), cc('g'), cc('b'),
cc('y'), cc('g'), cc('b')])
poly.set_alpha(0.7)
ax.add_collection3d(poly, zs=zs, zdir='y')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()
这里的数据是一个数据框,我们想要绘制每一行。但实际上,我无法获得上述代码的任何内容。有什么建议吗?
答案 0 :(得分:0)
由于您的所有其他代码与示例相同,因此错误必须来自您的编码工具(例如,cterm或jupyter notebook)或您的数据。 我想知道你是否在没有交互后端的情况下使用ssh或jupyter。
答案 1 :(得分:0)
由于可以正确运行原始代码,但不能正确运行提供的代码,因此在运行此代码之前,请检查是否已导入所有正确的库。
from mpl_toolkits.mplot3d import Axes3D
from matplotlib.collections import PolyCollection
import matplotlib.pyplot as plt
如果我运行仅导入pyplot
的代码,那么我会得到一个没有任何内容的窗口,这似乎是您遇到的问题。