データ分析・上級問題チェック
問題 31 /40
pandasのplot.barメソッドで次のグラフで表示した場合、誤った説明はどれか。


選択 1
DataFrameのインデックス(行名)がx軸になる。
選択 2
DataFrameのカラム(列名)が凡例になる。
選択 3
複数の棒グラフを並べて表示する場合、棒グラフの幅を指定して、ずらして描画する必要がある。
選択 4
「df.plot.barh(stacked=True)」とすると、横向きの積み上げ棒グラフになる。
解説
選択肢3が正解です。
pandasには折れ線グラフのplotメソッドや、ヒストグラムのplot.histメソッドなど、グラフを描画するメソッドがあります。
問題文の棒グラフはplot.barメソッドで描画しています。
-------------------------------
df = pd.DataFrame(
np.random.rand(3, 3),
index=['one', 'two', 'three'],
columns=['A', 'B', 'C'])
df.plot.bar()
-------------------------------
DataFrameのインデックスがx軸に、カラムが凡例になります。
このように複数の棒グラフを横に並べて表示する場合、Matplotlibのbarメソッドは棒の幅を指定してずらす必要がありますが、pandasのplot.barメソッドは自動調整してくれます。
また、積み上げ棒グラフも、Matplotlibは合計値を計算して描画する必要がありますが、pandasは「stacked=True」の引数を付けるだけです。
-------------------------------
df = pd.DataFrame(
np.random.rand(3, 3),
index=['one', 'two', 'three'],
columns=['A', 'B', 'C'])
df.plot.barh(stacked=True)
-------------------------------
(公式書籍 p.209-211、190-191)

