更新时间:2022年03月31日11时35分 来源:传智教育 浏览次数:
2.1.2节实例1的折线图既没有使用数据标记标注数据的位置,也没有使用注释文本标注数值,影响用户阅读体验。因此,这里为折线图添加数据标记和注释文本,并设置注释文本的字体样式,具体代码如下。
# 04_maximum_minimum_temperatures import matplotlib.pyplot as plt import numpy as np plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False x = np.arange(4, 19) y_max = [32, 33, 34, 34, 33, 31, 30, 29, 30, 29, 26, 23, 21, 25, 31] y_min = [19, 19, 20, 22, 22, 21, 22, 16, 18, 18, 17, 14, 15, 16, 16] # 可以多次调用plot()函数 plt.plot(x, y_max, marker='o', label='最高温度') plt.plot(x, y_min, marker='o', label='最低温度') # 为图表添加注释并设置字体样式 x_temp = 4 for y_h, y_1 in zip(y_max, y_min): plt.text(x_temp-0.3, y_h + 0.7, y_h, family='SimHei', fontsize=8, fontstyle='normal') plt.text(x_temp-0.3, y_1 + 0.7, y_1, family='SimHei', fontsize=8, fontstyle='normal') x_temp +=1 plt.title('未来15天最高气温和最低气温走势') plt.xlabel('日期') plt.xlabel('温度 ($^\circ$C)') plt.ylim(0, 40) plt.legend() plt.show()
运行程序,效果如图4-9所示。
图4-9 未来15天最高气温和最低气温的走势——设置字体样式
图4-9中,每条折线均使用指定字体样式的注释文本说明了数据点的具体数值。由图4-9可知,注释文本的字号小于其他文本的字号,并未给用户一种喧宾夺主的感觉。