1

を使用して、左側の y 軸に 2 つ、右側に 1 つの 3 つのシリーズをプロットしようとしていますが、左側で を使用secondary_yしたように、右側の y 軸スケールを定義する方法が明確ではありませんylim=()

この投稿を見ました:軸と直接やり取りする

…しかし、私が持っていると:

import matplotlib.pyplot as plt

df = pd.DataFrame(np.random.randn(10,3))

fig, ax1 = plt.subplots()

ax2 = ax1.twinx()
ax1.plot(df.index,df.iloc[:,[0,2]])
ax2.plot(df.index, df.iloc[:,2])

plt.show()まったく何も生み出しません。私は使っている:

  • スパイダー 2.3.5.2
  • パイソン: 3.4.3.final.0
  • Python ビット: 64
  • OS: Windows
  • OS リリース: 7
  • パンダ: 0.16.2
  • でこぼこ: 1.9.2
  • scipy: 0.15.1
  • マットプロットライブラリ: 1.4.3

結果のために私が得るもの

これらのリンクが役に立ちました:

tcaswell、軸を直接操作

matplotlib.axes ドキュメント

4

3 に答える 3

1

set_ylim適切な斧で使用する必要があります。

例えば:

ax2 = ax1.twinx()
ax2.set_ylim(bottom=-10, top=10)

また、コードを確認すると、iloc列を正しく指定していないようです。試す:

ax1.plot(df.index, df.iloc[:, :2])  # Columns 0 and 1.
ax2.plot(df.index, df.iloc[:, 2])   # Column 2.
于 2015-11-30T19:50:34.850 に答える
0
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(10,3))
print (df)
fig, ax1 = plt.subplots()

ax2 = ax1.twinx()
ax1.plot(df.index,df.iloc[:,[0,2]])
ax2.plot(df.index, df.iloc[:,2])

plt.show()
于 2015-11-30T19:43:34.690 に答える