python画图(plt.)x轴横坐标被省略了(被间断)怎么办 | 如何让所有横坐标x值都展示出来 | 如何调整横坐标角度

每天的事情真的很多,老师又甩给我一个项目,他跟一个巧克力厂合作,给了我近四年的销售数据,让我分析一下数据返回厂家建议的生产调整。

实际项目我当然很乐意接受啦! 解决现实问题真的很爽,每天跟着国内搞一些不解决实际问题的研究,真的难受。我就是一俗人,只想如何赚钱养家。

画图的时候遇到一个问题,横坐标为数字,但是有缺省。 plt.自动生成的x轴坐标会把所有值看成一个连贯的数列,然后中间缺省。就像这样。
python画图(plt.)x轴横坐标被省略了(被间断)怎么办 | 如何让所有横坐标x值都展示出来 | 如何调整横坐标角度_第1张图片

解决这个问题的办法有一下几种:

  1. 把x轴集合的每一个元素从int型转成str型。
  2. 用显示精度来调整。

方法1:

x = single_category_sales_2017.index
y = single_category_sales_2017.values
x = [str(i) for i in x]    #为了让每个值不被省略,把list中所有的元素都转化成str格式
plt.title("2017 single category sales value")
plt.bar(x,y,label="sales value",color="blue")
plt.xticks(rotation=-30) #斜着展示,角度从逆时针开始算。
plt.legend(loc=1)
plt.show()

变成这样: (完美达到诉求的方式)
python画图(plt.)x轴横坐标被省略了(被间断)怎么办 | 如何让所有横坐标x值都展示出来 | 如何调整横坐标角度_第2张图片

方法2:

import matplotlib.pyplot as plt
import matplotlib.ticker as ticker

x = [0,5,9,10,15]
y = [0,1,2,3,4]

plt.plot(x,y)
plt.gca().xaxis.set_major_locator(ticker.MultipleLocator(5))
plt.show()

核心思想就是引入 import matplotlib.ticker as ticker 然后通过设置ticker.MultipleLocator()的值来表示。
但它变成了这个样子。
python画图(plt.)x轴横坐标被省略了(被间断)怎么办 | 如何让所有横坐标x值都展示出来 | 如何调整横坐标角度_第3张图片

但是我的横坐标并不是每个数字都有的,先放到这里,这个方法不错,将来肯定会用到的。

我爱解决实际的问题!
唉,国内的科研真是变了味了!
疫情中的英国,
加油!
21/06/2020

你可能感兴趣的:(项目经验,python,plt,python画图,横坐标)