我正在创建一个条形图并在 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')
最佳答案
您只需修改 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)
关于python - 使用 matplotlib 堆叠轴的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39739644/