1. 程式人生 > >Matplotlib繪圖專案(三):北京2016年3,10月份每天白天的最高氣溫隨時間變化情況

Matplotlib繪圖專案(三):北京2016年3,10月份每天白天的最高氣溫隨時間變化情況

需求:
  • 繪製北京2016年3,10月份每天白天的最高氣溫隨時間(天)變化的散點圖,並找出規律
難點:
  • 散點圖語法
  • 繪製兩邊分散式x軸座標
# 資料來源:天氣網  http://lishi.tianqi.com/beijing/index.html

import matplotlib.pyplot as plt

# 3月份和10月份每天白天氣溫情況
a = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23]
b = [26
,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6] # 作為x軸的時間天數 x = range(1,32) plt.figure(figsize = (20, 8), dpi = 80) # # x軸都一樣,重疊在一起就沒意義了 plt.scatter(x, a) plt.scatter(x, b) #展示 plt.show()

在這裡插入圖片描述

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = [
'SimHei'] plt.rcParams['axes.unicode_minus'] = False y_3 = [11,17,16,11,12,11,12,6,6,7,8,9,12,15,14,17,18,21,16,17,20,14,15,15,15,19,21,22,22,22,23] y_10 = [26,26,28,19,21,17,16,19,18,20,20,19,22,23,17,20,21,20,22,15,11,15,5,13,17,10,11,13,12,13,6] x_3 = range(1,32) # 為了在x軸上區分開 x_10 = range(51,82) #設定圖形大小
plt.figure(figsize=(20,8),dpi=80) #使用scatter方法繪製散點圖,和之前繪製折線圖的唯一區別 plt.scatter(x_3,y_3,label=u"3月份", linewidth = 5 ) plt.scatter(x_10,y_10,label=u"10月份", linewidth = 5) #調整x軸的刻度 # 注意: 不能直接range(1,82),因為中間還差數,所以list+ _x = list(x_3)+list(x_10) _xtick_labels = [u"3月{}日".format(i) for i in x_3] # 因為從51開始的, -50就行了 _xtick_labels += [u"10月{}日".format(i-50) for i in x_10] plt.xticks(_x[::3],_xtick_labels[::3], rotation=45) #新增圖例 plt.legend(loc="upper left") #新增描述資訊 plt.xlabel(u"時間") plt.ylabel(u"溫度") plt.title(u"北京2016年3,10月份每天白天的最高氣溫隨時間(天)變化情況") # plt.grid() 散點圖加網格線不美觀 #展示 plt.show() # 大致規律:3月份氣溫隨著時間增加而增加;10月份氣溫隨著時間增加而遞減

在這裡插入圖片描述