首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >柱状图的简单柱状图表示使用seaborn

柱状图的简单柱状图表示使用seaborn
EN

Stack Overflow用户
提问于 2018-05-15 02:58:02
回答 4查看 7.2K关注 0票数 3

我有一个包含26列数字数据的pandas数据框架。我想用26条柱状图表示每一列的平均值。这很容易用pandas绘图函数:df.plot(kind = 'bar')完成。然而,结果是丑陋的,列标签经常被截断,即:

我想用seaborn来做这件事,但无论我怎么努力,似乎都找不到一种方法。当然有一种简单的方法可以做一个简单的柱状平均值柱状图?谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-05-15 03:06:55

你可以使用sns.barplot --尤其是horizontal barplots,更适合这么多类别--就像这样:

代码语言:javascript
复制
import seaborn as sns

df = pd.DataFrame({'x': [0, 1], 'y': [2, 3]})
unstacked = df.unstack().to_frame()
sns.barplot(
    y=unstacked.index.get_level_values(0),
    x=unstacked[0]);

票数 1
EN

Stack Overflow用户

发布于 2018-05-15 03:09:36

您可以尝试如下所示:

代码语言:javascript
复制
import matplotlib.pyplot as plt
import seaborn as sns
sns.set()

fig = df.mean().plot(kind='bar')
plt.margins(0.02)
plt.ylabel('Your y-label')
plt.xlabel('Your x-label')
fig.set_xticklabels(df.columns, rotation = 45, ha="right")
plt.show()

票数 4
EN

Stack Overflow用户

发布于 2018-06-01 06:57:41

如果有人通过搜索找到它,我找到的最简单的解决方案(我是OP)是使用pandas.melt()函数。这会将所有列连接到单个列中,但会添加第二列,该列将保留与每个值相邻的列标题。此数据帧可以直接传递到seaborn。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50337237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档