Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibで凡例と2次Y軸を使用して同じプロットに2つのパンダ時系列をプロットするにはどうすればよいですか?


凡例と2番目のY軸を使用して、2つのパンダの時系列を同じプロットにプロットするには、次の手順を実行できます-

  • 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。

  • 1次元のndarrayを作成します 軸ラベル付き(時系列を含む)。

  • 列リストを使用してデータフレームを作成します。

  • 列をプロットするA およびB データフレームの使用plot() メソッド。

  • get_legend_handles_labels()を使用して、凡例のハンドルとラベルを返します メソッド。

  • legend()を使用して図に凡例を配置します メソッド。

  • 図を表示するには、 show()を使用します メソッド。

import pandas as pd
from matplotlib import pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

ts = pd.Series(np.random.randn(10), index=pd.date_range('2021-04-10', periods=10))

df = pd.DataFrame(np.random.randn(10, 4), index=ts.index, columns=list('ABCD'))

ax1 = df.A.plot(color='red', label='Count')
ax2 = df.B.plot(color='yellow', secondary_y=True, label='Sum')

h1, l1 = ax1.get_legend_handles_labels()
h2, l2 = ax2.get_legend_handles_labels()

plt.legend(h1+h2, l1+l2, loc=2)

plt.show()

出力

Matplotlibで凡例と2次Y軸を使用して同じプロットに2つのパンダ時系列をプロットするにはどうすればよいですか?


  1. 折れ線グラフ(Matplotlib)のY軸に複数のPandas列をプロットするにはどうすればよいですか?

    折れ線グラフのY軸に複数のPandas列をプロットするには、 set_index()を使用してインデックスを設定できます。 メソッド。 ステップ 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。 カテゴリ1、カテゴリ2、およびカテゴリ3の列を持つデータフレームを作成します。 set_index()を使用する 既存の列を使用してDataFrameインデックスを設定するメソッド。 図を表示するには、 show()を使用します メソッド。 例 import pandas as pd from matplotlib import pyplot as plt

  2. MatplotlibでNaN値をプロットして操作する方法は?

    matplotlibでNaN値をプロットして操作するには、次の手順を実行できます- いくつかのNaN値を持つnumpyを使用してデータを作成します。 imshow()を使用します データを画像として、つまり2D通常のラスター上に、カラーマップとデータを使用して表示する方法(手順1から)。 図を表示するには、 show()を使用します メソッド。 例 import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50]