matplotlib如何降低x轴密度-时间显示问题

python中轴数据的‘稀释’

在python中很多时候都会遇到x轴数据过多而显示出问题的问题,因此这篇文章针对于时间显示问题来做出解答。
可以到到原始数据是:
matplotlib如何降低x轴密度-时间显示问题_第1张图片
可以先简单绘制数据图:
代码如下:
matplotlib如何降低x轴密度-时间显示问题_第2张图片
绘制结果图如下:
matplotlib如何降低x轴密度-时间显示问题_第3张图片
结果无法显示出日期。
因此需要导入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()

可以看到结果显示图:matplotlib如何降低x轴密度-时间显示问题_第4张图片
你也可以改变ticker_spacing的间隔大小,可使得符合你的图片显示。
调节图例的旋转方向:
plt.xticks(rotation = 45)
还可以添加其他的条件设置。

你可能感兴趣的:(python,数据可视化,数据分析)