首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图中条形图的重叠

问图中条形图的重叠
EN

Stack Overflow用户
提问于 2020-06-23 14:36:54
回答 1查看 57关注 0票数 0

我有一只熊猫数据,它有237列6行:

代码语言:javascript
复制
                                   1          2          3          4    ...        234        235        236        237
Hydrophobic                  19.324182   0.422386   2.006336   7.814150  ...  50.791975   3.379092   5.807814   0.000000
Negative                      0.211193   0.000000   0.000000   0.211193  ...   0.422386   0.211193   1.372756   0.105597
Positive                      0.000000   0.000000   0.000000   0.105597  ...   0.527983  43.928194   2.851109   0.422386
Special                      16.050686   0.000000   1.267159   2.534319  ...   0.844773   0.211193   0.105597   0.422386
Polar                        21.858501   0.211193   1.795143   6.019007  ...   0.739176   2.323126  26.082365   0.000000
Gap                          42.449842  99.260824  94.825766  83.210137  ...  46.568110  49.841605  63.674762  98.944034

因为我想以叠加的方式为每一列绘制行类型的百分比,所以我转换了dataframe并绘制它:

代码语言:javascript
复制
transpose_df=df.transpose()

transpose_df.plot.bar(stacked=True)

但是,这个情节看起来不太好,我读了matplotlib的文档,但是我不知道怎么做。

​

​

不幸的是,我试图使图表垂直于建议,但我得到了同样的结果,甚至增加宽度。

代码语言:javascript
复制
transpose_df.plot(kind='barh', stacked=True, figsize=(5, 50))

​

​

任何知道如何避免重叠和有一个更清晰的图表。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-23 14:39:34

您有237列要绘制,您可以使用宽度参数节省一些空间,并避免在栏之间出现空白。除此之外,没有办法让您的x标记标签与这么多列可读的。

我认为绘制许多列的最佳方法是使用水平条形图,并为您的绘图设置一个很大的高度。垂直滚动比水平滚动容易。

下面是一个示例:

代码语言:javascript
复制
transpose_df.plot(kind='barh', stacked=True, figsize=(5, 30))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62537292

复制
相关文章

相似问题

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