我对 matplotlib 比较陌生,可能有更好的方法来处理这个问题。我试过了sns.countplot(),没有排序选项。所以我尝试用条形图和 pandas 来进行计数:
my_data = pd.DataFrame({'actions': ['buy','buy','buy','observe','consult'] , 'places':['NY','AR','AR','NY','AR']})
fig, axs = plt.subplots(1, 2, figsize = (5,7))
axs = axs.ravel()
for place in my_data['places']:
x = 0
temp_df = my_data[my_data['places'] == place]
axs[x] = sns.barplot(y=temp_df.actions.value_counts().index, x=temp_df.actions.value_counts().values, color="#43B8E7",orient = 'h')
axs[x].set_title(place)
x=+1
数据看起来像
actions places
0 buy NY
1 buy AR
2 buy AR
3 observe NY
4 consult AR
代码生成以下内容。正如您可能已经假设的那样,我还需要绘制 NY,但是,由于子集化或循环中遗漏的某些内容,它无法正常工作。如何解决这个问题?我觉得这个很简单,但是找不到。
偶然的你
眼眸繁星
相关分类