更新时间:2022-04-15 来源:黑马程序员 浏览量:
气候是地球上某一地区大气的多年平均状况,主要有光照、气温、降水等气候要素,其中气温、降水是反映一个地区气候特性的重要指标。已知某地区全年的平均气温、降水量、蒸发量如表5-4所示。
表5-4 某地区全年的平均气温与降水量、蒸发量
根据表5-4的数据,将“月份”一列的数据作为x轴的刻度标签,将“平均气温”“降水量”“蒸发量”三列的数据作为y轴的数据,在同一绘图区域中分别绘制反映平均气温、降水量、蒸发量关系的图表,具体代码如下。
# 04_temperature_precipitation_evaporation import numpy as np import matplotlib.pyplot as plt plt.rcParams["font.sans-serif"] = ["SimHei"] plt.rcParams["axes.unicode_minus"] = False month_x = np.arange(1, 13, 1) # 平均气温 data_tem = np.array([2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 33.4, 23.0, 16.5, 12.0, 6.2]) # 降水量 data_precipitation = np.array([2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]) # 蒸发量 data_evaporation = np.array([2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]) fig, ax = plt.subplots() bar_ev = ax.bar(month_x, data_evaporation, color='orange', tick_label=['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']) bar_pre = ax.bar(month_x, data_precipitation, bottom=data_evaporation, color='green') ax.set_ylabel('水量(ml)') ax.set_title('平均气温与降水量、 蒸发量的关系') ax_right = ax.twinx() line = ax_right.plot(month_x, data_tem, 'o-m') ax_right.set_ylabel('气温($^、\circ$C)') # 添加图例 plt.legend([bar_ev, bar_pre, line[0]], ['蒸发量', '降水量', '平均气温'], shadow=True, fancybox=True) plt.show()
运行程序,效果如图5-14所示。
图5-14 某地区全年平均气温与降水量、蒸发量的关系
图5-14中,折线代表全年气温的趋势,参照右方的垂直坐标轴;绿色、橙色的柱形分别代表全年降水量、全年蒸发量,参照左方的垂直坐标轴,它们之间共享x轴。由图5-14可知,随着气温的升高,蒸发量也有所增加,降水量与蒸发量大致相等。