matplotlib绘图 调整横坐标与纵坐标范围与间隔
- 主要模块pylot的xticks/yticks
- 生成日期使用pandas库date_range模块
- 日期格式使用dates模块
这里介绍坐标标签为数值与时间格式的最常用及最简单做法,举例:
1、纵坐标标签显示数值20到100,间隔为10
2、横坐标标签显示时间2018-9-1 到 2018-11-30,间隔为10天
目标图形坐标轴显示如下:
python代码: import matplotlib.pyplot as plt import matplotlib.dates as mdate ##绘图代码省略,坐标轴设置如下 ax = plt.gca() #表明设置图片的各个轴,plt.gcf()表示图片本身 ax.xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d')) # 横坐标标签显示的日期格式 plt.xticks(pd.date_range('2018-9-1','2018-11-30',freq='10d')) #横坐标日期范围及间隔 plt.yticks(range(20, 110, 10)) #设置纵坐标,主要range()函数设置起始、结束的数值范围以及间隔步长
注意,如果不加语句plt.gca().xaxis.set_major_formatter(mdate.DateFormatter('%Y-%m-%d')),则横坐标只显示年份,如下图所示