3

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)

これを生成します:

正しいが間違った方法

上の画像のように画面に「垂直」な種類ではなく、画面の「平面内」にある時間プロットが必要です。ax.plot()部分のさまざまな組み合わせを試しましたが、次のように変更すると次のようになります。

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

私はこれを手に入れます:

何

次のように変更します。

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

...どちらも役に立ちません。原点でz方向にすべての細い棒を作るだけです。

何か案は?誰かがグラフ全体を回転させる方法を知っていても、プロットが画面の平面にあるようにすると、何もないよりはましです。

4

1 に答える 1

4

チェックするデータがなければ、問題は の引数の順序にある​​と思いますax.plot。これを試して:

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

したがって、2D プロットの「y」軸を高さにしたいので、zs=ys.

于 2012-05-31T19:44:28.120 に答える