例子:根据下表的数据,将时间列的数据作为x轴的刻度标签,将风速列的数据作为y轴的数据,使用plot()方法绘制反映深圳市24小时平均风速的折线图
长度为6,宽度为2,标签大小为12刻度线方向朝内,长度为6,宽度为2,标签大小为12
提取条件:
(1)刻度线方向朝内,长度为6,宽度为2,标签大小为12
(2)x轴刻度标签为固定格式的时间
下面是完整代码以及注释:
dates = ['201910240', '2019102402', '2019102404', '2019102406',
'2019102408', '2019102410', '2019102412', '2019102414',
'2019102416', '2019102418', '2019102420', '2019102422', '201910250']
# 提取到datetime对象后,
# 要把它格式化为字符串str,
# 转换方法是通过strftime()实现的,需要一个日期和时间的格式化字符串
# 例如:2019,10,24,0,0 格式:年 月 日 小时 分钟 默认分钟为0
x_date=[datetime.strptime(d,"%Y%m%d%H") for d in dates]
print(x_date)
y_data = np.array([7,9,11,14,8,15,22,11,10,11,11,13,8])
# 创建自定义的图像
fig = plt.figure()
# add_axes()方法为图形添加轴,参数是一个由4个元素组成的list对象,
# 分别对应图形的左、底、宽、高。每个数字必须在0和1之间。
ax = fig.add_axes((0.07,0.13,0.9,0.9))
print(x_date)
# 画折线图
ax.plot(x_date,y_data,'->',ms=8,mfc='#FF9900')
ax.set_title('深圳市24小时的平均风速')
ax.set_xlabel('时间(h)')
ax.set_ylabel('平均风速(km/h)')
#设置x轴主刻度的位置和格式
# 创建一个DateFormatter格式器(与日期相关的) ,格式为小时:分钟
date_fmt = DateFormatter('%H:%M')
# 将date_fmt设为x轴的主刻度格式器
ax.xaxis.set_major_formatter(date_fmt)
# 刻度线方向朝内,长度为6,宽度为2,标签大小为12,没有axis参数就默认both
ax.tick_params(direction='in',length=6,width=2,labelsize=12)
# labelrotation:表示刻度标签旋转的角度
ax.xaxis.set_tick_params(labelrotation=45)
plt.show()