python中轴数据的‘稀释’
在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)
还可以添加其他的条件设置。