繁体   English   中英

如何 plot 条形图没有聚合 Seaborn?

[英]How to plot a bar chart without aggregation Seaborn?

你如何 plot 没有聚合的条形图? 我有两列,一列包含值,另一列是分类的,但我想 plot 单独的每一行,而不进行聚合。

默认情况下, sns.barplot(x = "col1", y = "col2", data = df)将通过取col1中每个类别的值的平均值来聚合。

我如何简单地为 dataframe 中的每一行仅 plot 一个条形而没有聚合?

如果'col1'仅包含唯一标签,您会立即使用sns.barplot(x='col1', y='col2', data=df)获得结果。 如果有重复的标签,您可以将索引用作x ,然后更改刻度:

from matplotlib import pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns

df = pd.DataFrame({'col1': list('ababab'), 'col2': np.random.randint(10, 20, 6)})
ax = sns.barplot(x=df.index, y='col2', data=df)
ax.set_xticklabels(df['col1'])
ax.set_xlabel('col1')
plt.show()

示例图

PS:同样,水平条形图可以创建为:

df = pd.DataFrame({'col1': list('ababab'), 'col2': np.random.randint(10, 20, 6)})
ax = sns.barplot(x='col2', y=df.index, data=df, orient='h')
ax.set_yticklabels(df['col1'])
ax.set_ylabel('col1')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM