python - 使用 matplotlib 堆叠轴的标签

标签 python matplotlib

我正在创建一个条形图并在 x 轴上显示多个值。默认情况下,它们按系列显示,并用“,”分隔,如下所示。我怎样才能显示堆叠在彼此之上的值,而不是像下图所示的昏迷?当我想显示多个值时,这将节省 x 轴上的空间,以便允许更大的图表。

import pandas as pd
import matplotlib as plt

dfex = pd.DataFrame({'City': ['LA', 'SF', 'Dallas'],
 'Lakes': [3, 9, 6],
 'Rivers': [1, 0, 0],
 'State': ['CA', 'CA', 'TX'],
 'Waterfalls': [2, 4, 5]})

myplot = dfex.plot(x=['City','State'],kind='bar',stacked='True')

enter image description here

最佳答案

您只需修改 x 轴刻度标签即可实现您想要的效果。

ticks = myplot.xaxis.get_ticklabels()
new_ticks = ['\n'.join(t.get_text()[1:-1].split(', ')) for t in ticks]
myplot.xaxis.set_ticklabels(new_ticks)

enter image description here

关于python - 使用 matplotlib 堆叠轴的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39739644/

相关文章:

python - 在文件系统中创建和共享 python 包

python - 在 Python 3.6.1 中使用带有 basemap 和轮廓的某些投影时出现 IndexError

python - Apache Beam 管道导入错误故障排除 [BoundedSource 对象大于允许的限制]

python - 使用 Python dicts 进行静态类型分析

python - 在 matplotlib 中绘制饼图

python - 使用 pandas/matplotlib 或 seaborn 排序的条形图

Python字典保存数组范围?

python - scipy-cluster 定制生成的树状图

python - 在 matplotlib 中,如何绘制多个数据集的条形图以将最小的条放在前面?

python - Matplotlib - 以 A4 格式拟合所有子图