在python中很多时候都会遇到x轴数据过多而显示出问题的问题,因此这篇文章针对于时间显示问题来做出解答。 可以到到原始数据是: 可以先简单绘制数据图: 代码如下: 绘制结果图如下: 结果无法显示出日期。 因此需要导入ticker库来解决这个问,ticker可以改变数据轴的间距来解决日期显示不完整的问题。 代码如下:
#by fog # # encoding = utf - 8 import pandas as pd import matplotlib.pyplot as plt import matplotlib.ticker as ticker #导入数据文件 s = pd.read_csv(r'C:\Users\Dong\Desktop\candy.csv',encoding = 'utf-8') #文字显示乱码问题 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False x = s.date #根据ticker的功能改变第一个为初始的数据,第二个则为距离 ticker_spacing = x ticker_spacing = 70 #创建画布 fig, ax = plt.subplots(1,1) ax.plot(x,s.IP) ax.xaxis.set_major_locator(ticker.MultipleLocator(ticker_spacing)) plt.xticks(rotation = 45) plt.legend(['体重'],loc = 1, title = '图例') plt.title('体重变化',size = 24,color = 'red') plt.show()
可以看到结果显示图: 你也可以改变ticker_spacing的间隔大小,可使得符合你的图片显示。 调节图例的旋转方向: plt.xticks(rotation = 45) 还可以添加其他的条件设置。