2017-12-12 13 views
0

データフレームtotal_yearには3つの列(年、アクション、コメディ)が含まれています。ライングラフのY軸に1つのDataFrameの2つの列をプロットする方法

enter image description here

total_year私は、X軸上の年の列とY軸上(アクション&コメディ)の両方をプロットしたいです。 しかし、Y軸に一度に1列だけプロットすることができます。 Y軸にどのように2つの列(アキトンとコメディ)をプロットすることができますか? はここでデフォルトあたり

total_year[-15:].plot(x='year', y='action' ,figsize=(10,5), grid=True ) 
+0

おそらくあなたはhttps://stackoverflow.com/questions/11640243/pandas-plot-multiple-y-axes –

+0

可能かもしれません[PANDASに複数のY軸をプロット]の複製(https://stackoverflow.com/questions/11640243/pandas-plot-multiple-y-axes) – Isma

答えて

2

Pandas.DataFrame.plot()X軸をプロットするためのインデックスを使用しています私のコードで、他のすべてのの数値列はY値として使用されます。あなたが機能をプロットパンダのy引数にプロットするためにいくつかの列を提供することができる代わりに、単一の列名の

total_year.set_index('year').plot(figsize=(10,5), grid=True) 
+1

コメントを残さずに人々がダウンボートすると、私はそれを気に入らない。 –

+0

@cᴏʟᴅsᴘᴇᴇᴅ、ここに...ありがとう! :) – MaxU

+0

@MaxUのおかげで.iは必要な出力を得ました。このset_indexメソッドの動作を説明できますか? –

3

:だからインデックスとしてyear列を設定

は、トリックを行います。これらはリストとして指定する必要があります。すなわち:

df.plot(x="year", y=["action", "comedy"]) 

コンプリート例:

import matplotlib.pyplot as plt 
import pandas as pd 

df = pd.DataFrame({"year": [1914,1915,1916,1919,1920], 
        "action" : [2.6,3.4,3.25,2.8,1.75], 
        "comedy" : [2.5,2.9,3.0,3.3,3.4] }) 
df.plot(x="year", y=["action", "comedy"]) 
plt.show() 

enter image description here

関連する問題