を作成します。matplotlibのカテゴリ棒グラフは、私はこのようになりますデータフレームを持って、不要な空白
import numpy as np
import pandas as pd
location = list(range(1, 34))
location += [102, 172]
stress = np.random.randint(1,1000, len(location))
group = np.random.choice(['A', 'B'], len(location))
df = pd.DataFrame({'location':location, 'stress':stress, 'group':group})
df[['location', 'group']] = df[['location', 'group']].astype(str)
注:location
とgroup
は私がlocation
ように、AAバープロットを作成しようとしている両方の文字列
です(categorical)はx軸にあり、stress
は各バーの高さです。
f, axarr = plt.subplots(1, 1)
axarr.bar(df['location'], df['stress'])
plt.xticks(np.arange(df.shape[0]) + 1, df['location'])
plt.show()
はしかし、これは生成します:
私はまた、私は以下の私が試した各group
に異なる色で各バーを色付けしたいですなぜエンドバーの間に空白があるのか分かりません。私はと172
の値がlocation
であることを推測していますが、その列は文字列なので、カテゴリ変数として扱われることを期待しています。location
"value"に関係なく、 。 xtickの位置とラベルを手動で指定して修正しようとしましたが、動作していないようです。
最後に、group
で各バーを色分けする簡単な方法がありますか?group
の値を手作業で繰り返す必要はありませんか?