Matplotlib繪圖專案(二):不同年齡階段女朋友個數變化情況
阿新 • • 發佈:2018-11-21
需求:
- 繪製不同年齡階段女朋友個數變化情況
難點:
- 同一張圖中折線增加為兩條
- 繪製圖例
- 繪製網格線
終圖:
第一部分程式碼如下:
from matplotlib import pyplot as plt # 設定中文能正常顯示 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False # x軸年齡 x = range(11, 31) # 20個,x軸與y軸資料一一對應 # y軸女朋友個數 y = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1] # 設定影象大小,清晰度 plt.figure(figsize = (20, 8), dpi = 80) # 聯立 plt.plot(x, y) # 設定x軸刻度:中文字串 _xtick_labels = [u'{}歲'.format(i) for i in x ] plt.xticks(x, _xtick_labels) # 想把y軸拉長點,本身峰值是到6 plt.yticks(range(0,9)) # 新增x軸y軸描述 plt.xlabel(u'年齡') plt.ylabel(u'物件個數') # 網格線的深淺 plt.grid(alpha = 0.5) plt.show()
第二部分程式碼如下:
x = range(11, 31) # 20個,x軸與y軸資料一一對應 # y軸女朋友個數增加一條折線的資料 y_m = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1] y_r = [1,0,3,1,2,2,3,3,2,1 ,2,1,1,1,1,1,1,1,1,1] # 設定影象大小,清晰度 plt.figure(figsize = (20, 8), dpi = 100) # 注意:漢字前面不加u也可以,真奇怪.... plt.plot(x, y_m, label = '狗明', color = 'orange', linestyle = ':', linewidth = 5, alpha = 0.8) plt.plot(x, y_r, label = '秀瑞', color = 'blue', linestyle = '-', linewidth = 5, alpha = 0.8) _xtick_labels = [u'{}歲'.format(i) for i in x ] plt.xticks(x, _xtick_labels) # 想把y軸拉長點,本身峰值是到6 plt.yticks(range(0,9)) plt.xlabel(u'年齡') plt.ylabel(u'物件個數') plt.title('狗明與秀瑞在11-30歲之間交女朋友個數折線圖') # 網格線的深淺 plt.grid(alpha = 0.5) # 將圖例的位置設定在左上角 plt.legend(loc = 'upper left') # 儲存圖片在桌面 plt.savefig('C:/Users/shuol/Desktop/p1') plt.show()