[英]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.