【问题标题】:How do I reverse the order of ticks on a barchart in matplotlib?如何反转 matplotlib 条形图上的刻度顺序?
【发布时间】:2019-02-19 16:15:30
【问题描述】:

我正在从一项已发表的研究中获取数据,该研究根据事故类别对美国 12 个最大的都会区的道路危险程度进行排名。到目前为止,我已经为条形图完成了代码,但我需要颠倒“排名”轴上刻度线的顺序,但我不知道该怎么做。我是 python 和一般编码的新手。

Cities = ('Hou','Dal','Phx','Mia','Phi','Atl','Chi','LA','SF','NY','WDC','Bos') 
y_pos = np.arange(len(Cities))
#DUI Rankings
performance = [1,3,2,5,4,10,7,9,8,11,6,12]

plt.bar(y_pos, performance, align='center', alpha=0.5)
plt.xticks(y_pos, Cities)
plt.ylabel('Ranking')
plt.title('DUI Involved Crashes')

plt.show()

Ranking Bar Chart

我正在尝试颠倒刻度的顺序,使其变为 12-> 1 而不是 0->12

【问题讨论】:

标签: python matplotlib jupyter-notebook data-visualization data-analysis


【解决方案1】:

plt.bar(x, height, width, bottom, *, align='center', **kwargs) 函数采用 bottom 参数。不幸的是,您必须使用performance-13 计算条形高度,因为该函数需要height 参数,而不是y 参数(您必须考虑这一点,因为bottom 不为零)。

plt.bar(y_pos, performance-13, bottom=13, align='center', alpha=0.5)
plt.ylim(13, 0)

【讨论】:

  • 然而,条形图是一种非常奇怪的排名方式。一个简单的列表就可以了。无论如何,对于 DUI 崩溃,应该有可以放在条形图上的数字数据。
  • 有,但我试图做更多的比较而不是列表。对我来说主要的事情就是练习在 python 中构建图表和绘图,因为我对它很陌生。
猜你喜欢
  • 1970-01-01
  • 2013-12-31
  • 2013-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-18
  • 2020-10-18
  • 2020-10-16
相关资源
最近更新 更多