更新時間:2022年03月31日11時35分 來源:傳智教育 瀏覽次數(shù):
2.1.2節(jié)實例1的折線圖既沒有使用數(shù)據(jù)標記標注數(shù)據(jù)的位置,也沒有使用注釋文本標注數(shù)值,影響用戶閱讀體驗。因此,這里為折線圖添加數(shù)據(jù)標記和注釋文本,并設(shè)置注釋文本的字體樣式,具體代碼如下。
# 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] # 可以多次調(diào)用plot()函數(shù) plt.plot(x, y_max, marker='o', label='最高溫度') plt.plot(x, y_min, marker='o', label='最低溫度') # 為圖表添加注釋并設(shè)置字體樣式 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天最高氣溫和最低氣溫的走勢——設(shè)置字體樣式
圖4-9中,每條折線均使用指定字體樣式的注釋文本說明了數(shù)據(jù)點的具體數(shù)值。由圖4-9可知,注釋文本的字號小于其他文本的字號,并未給用戶一種喧賓奪主的感覺。