1
パンダで複数の積み重ね棒グラフを作ろうとしていますが、問題が発生しています。パンダで複数積み重なった棒グラフ
import pandas as pd
df = pd.DataFrame({'a':[10, 20], 'b': [15, 25], 'c': [35, 40], 'd':[45, 50]}, index=['john', 'bob'])
ax = df[['a', 'c']].plot.bar(width=0.1, stacked=True)
ax=df[['b', 'd']].plot.bar(width=0.1, stacked=True, ax=ax)
df[['a', 'd']].plot.bar(width=0.1, stacked=True, ax=ax)
次のプロット生成します:あなたが見ることができるように
、各クラスタ内のバーは互いの上にプロットされ、ではない何があるここでは、サンプルコードです私は達成したい。私は、同じクラスタ内の棒を互いに隣り合わせて描きたい。私は "ポジション"の議論を試してみましたが、大成功はしませんでした。
どのようにこれを達成するためのアイデアですか?
示すように、彼らは互いに隣接するように、あなたがbar-plot
の
position
パラメータをシフトすることによってそれを行うことができ
私は混乱しています。ドキュメントでは、 "position"引数は0から1になりますが、0以上1未満の値を使用しています。どのように機能しますか? – fireboot
素敵な観察! pandasが 'matplotlib'オブジェクトにあるキーワード引数を継承していることを知っているので、それを利用してさまざまな設定を微調整することができます。このようなケースの1つは 'matplotlib-bar'プロットの' align'パラメータを使って 'pandas - bar'プロットの' position'パラメータを変更することです。あなたは['align'](http://www.linux.org/)を使用する[' source code'](https://github.com/pydata/pandas/blob/master/pandas/tools/plotting.py#L1904) /matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.bar)オプションを使用し、両方の* pos/neg *浮動小数点数を設定することができます。 –
私が正しく理解すれば、パンダバーは普通のmatplotlibバーであり、その "align"プロパティは0以上の値をとるので動作します。 – fireboot