pandas - 使用 seaborn 和 pandas plotting 防止重叠条

标签 pandas matplotlib ipython seaborn

我正在尝试使用 pandas 绘图来创建带有 seaborn 导入的堆叠水平条形图。我想删除条之间的空间,但也不要让条重叠。这是我试过的:

import pandas as pd
import numpy as pd
import seaborn as sns

df = pd.DataFrame(np.random.rand(15, 3))
df.plot.barh(stacked=True, width=1)

enter image description here

这似乎无需导入 seaborn 即可工作,尽管我喜欢 seaborn 风格,而且它通常是我正在使用的 ipython 笔记本中的导入,这可能吗?

最佳答案

如果您将条形线宽设置为 seaborn 样式所具有的值,则使用 matplotlib 默认值也可以看到此工件:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(15, 3))
df.plot(stacked=True, width=1, kind="barh", lw=.5)

enter image description here

一个解决方案是将条形线增加到 matplotlib 默认值的大致位置:

import pandas as pd
import numpy as np
import seaborn as sns

df = pd.DataFrame(np.random.rand(15, 3))
df.plot(stacked=True, width=1, kind="barh", lw=1)

enter image description here

关于pandas - 使用 seaborn 和 pandas plotting 防止重叠条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36185427/

相关文章:

python - 将部分案例匹配到 Python 字典

python - 通过 matplotlib 线图绘制一组多项式趋势线

python - 使用 pandas 问题在 matplotlib 中绘制子图

ipython - 函数名 + 选项卡在 IPython 中不返回文档字符串

python - 如何在 pandas Dataframe 列上应用 to_datetime ?

python - 根据条件将 df 中的列除以另一个 df 值

python - 如何在具有时区感知时间戳列的数据帧上附加?

python - Pandas 不识别 csv 列

python - 如何根据 y 值按降序绘制两个列表?

python - 将 Ipython 嵌入到 PyQt4 应用程序中