実現したいこと
複数のデータを同じ領域に散布図として表示したいです。
前提
以下の画像は散布図として表示したいデータです。「mcAllTrend」と名付けています。
散布図の理想形については、
- x軸ラベルはhour
- y軸ラベルはrank
- rankUpp、rankLow、rankAbbそれぞれに関して、hourに対する1時間ごとの数値(ランク)をプロット
というイメージです。
ここで、複数データを1つの領域に散布図として表示する方法をネットで一度調べたところ、以下のように言及されていました。
複数のプロットを重ねる場合は1つ目のplot()で取得できるAxesSubplotを2つ目以降のplot()の引数axに指定する。
ax = df.plot.scatter(x='sepal_length', y='petal_length', alpha=0.5)
df.plot.scatter(x='sepal_length', y='petal_width',
marker='s', c='r', s=50, alpha=0.5, ax=ax)
そのため、まずは1つのカラムに絞って散布図として表示し、そこに別のカラムに関するデータを追加していく方法をとるべきだと考えました。
以下は、まずrankUppカラムに関するhourに対応する散布図の画像とコードです。
python
1mcAllTrend.plot.scatter(x = "hour", y="rankUpp", title = "transition in rank", c = "r").set_ylim([30, 0]) 2plt.ylabel("rank")
さらに、ここにrankLowカラムに関する散布図も重ねたのが以下の画像とコードです。
python
1ax = mcAllTrend.plot.scatter(x="hour", y="rankUpp", title = "transition in rank", c = "r") 2mcAllTrend.plot.scatter(x="hour", y="rankLow", title = "transition in rank", c="b", ax=ax).set_ylim([30, 0]) 3plt.ylabel("rank")
困っているエラー(問題点)
上記の手順でrankAbbに関する散布図も重ねようと考えたのですが、以下の画像のようになりグラフが表示されません。
コードは以下の通りです。
python
1ax2 = mcAllTrend.plot.scatter(x="hour", y="rankLow", title = "transition in rank", c="b", ax=ax) 2mcAllTrend.plot.scatter(x="hour", y="rankAbb", title="transition in rank", c="g", ax=ax2).set_ylim([30,0])
グラフが表示されない原因を教えていただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/12 08:28