CHR*_*HRD 4 python matplotlib pandas
我正在尝试使用 matplotlib 绘制以下数据框:
df = pd.DataFrame({'X': ["A", "A", "B", "B"], 'Z': ["a", "b", "a", "b"], 'Y': [5, 1, 10, 5]})
df
X Z Y
0 A a 5
1 A b 1
2 B a 10
3 B b 5
Run Code Online (Sandbox Code Playgroud)
我想要的是两个条形图,其中条形图彼此相邻而不是彼此重叠。当我运行这个时,条形图被放置在彼此的顶部:
plt.barh(df['X'][df['Z'] == "a"], df['Y'][df['Z'] == "a"], color = 'blue')
plt.barh(df['X'][df['Z'] == "b"], df['Y'][df['Z'] == "b"], color = 'red')
Run Code Online (Sandbox Code Playgroud)
当我尝试更改条形的位置时,出现错误:can only concatenate str (not "float") to str。我该如何解决这个问题?
如果你想让酒吧并排,你可以使用seaborn库:
import seaborn as sns
sns.barplot(data=df, x='Y', hue='Z', y='X')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6613 次 |
| 最近记录: |