matplotlib z方向

时间:2012-05-31 19:29:43

标签: python matplotlib

我无法在matplotlib中完成绘图。这是代码:

arrays_k, arrays_v = splitbyrecordcount(ycsb[2])
checktype = [ "Update", "Read", "Verification" ]

fig = plt.figure()
ax = fig.add_subplot('111', projection='3d')

for z in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]:
    xs = arrays_k[z]
    ys = arrays_v[z]
    c = colmap.spectral(z/10.,1)
    ax.plot(xs, ys, zs=z, zdir='z', color=c)

它产生了这个:

Correct but wrong way round

我想要时间曲线如你所料:屏幕上的“更多”,而不是像上图中那样“垂直”。我已尝试过ax.plot()部分的许多不同组合,但如果我将其更改为:

ax.plot(xs, ys, zs=z, zdir='y', color=c)

我明白了:

what

将其更改为:

ax.plot(xs, ys, zs=z, zdir='x', color=c)

......也没有帮助。它只是在原点的z方向上制作了一条细条。

有什么想法吗?即使有人知道只是旋转整个图形的方法,所以图形在屏幕的平面上会比没有好。

1 个答案:

答案 0 :(得分:4)

没有要检查的数据我相信问题是ax.plot的参数的顺序。试试这个:

ax.plot(xs, z * np.ones(xs.shape), zs=ys, zdir='z', color=c)

因此,您希望2D绘图中的'y'轴是高度,因此zs=ys