1、案例一
# coding=utf-8 from matplotlib import pyplot as plt import random # 設置字體相關 from matplotlib import font_manager my_font = font_manager.FontProperties(fname="D:\\study\\python-數據分析\\阿里漢儀智能黑體.ttf") y = [1, 0, 1, 1, 2, 4, 3, 2, 3, 4, 4, 5, 6, 5, 4, 3, 3, 1, 1, 1] x = range(11,31) # 設置圖形大小 plt.figure(figsize=(20, 8), dpi=80)
# 繪制圖形 plt.plot(x, y) # 設置x軸刻度 _xtick_labels = ["{}歲".format(i) for i in x] plt.xticks(x, _xtick_labels,fontproperties=my_font) plt.yticks(range(0, 9)) # 標注最大值 plt.annotate('最大值', xy=(23, 6), xytext=(23, 7), arrowprops=dict(facecolor='black', shrink=0.05),fontproperties=my_font ) # 標注最小值 plt.annotate('最小值', xy=(12, 0), xytext=(12, 1), arrowprops=dict(facecolor='black', shrink=0.05),fontproperties=my_font ) # 繪制網格 alpha網格透明度 plt.grid(alpha=0.5) # 展示 plt.show()
2、案例二
# coding=utf-8 from matplotlib import pyplot as plt import random # 設置字體相關 from matplotlib import font_manager my_font = font_manager.FontProperties(fname="D:\\study\\python-數據分析\\阿里漢儀智能黑體.ttf") x = range(0, 120) y = [random.randint(20, 35) for i in range(120)] plt.figure(figsize=(20, 8), dpi=80) # 調整x軸的刻度 _x = list(x) _xtick_labels = ["10點{}分".format(i) for i in range(60)] _xtick_labels += ["11點{}分".format(i) for i in range(60)] # 取步長,數字和字符串一一對應,數據長度一樣 # rotation旋轉度數 # fontproperties設置字體 plt.xticks(_x[::3], _xtick_labels[::3], rotation=45, fontproperties=my_font) plt.plot(x, y) # 添加描述信息 plt.xlabel("時間", fontproperties=my_font) plt.ylabel("溫度 單位(°C)", fontproperties=my_font) # 添加標題 plt.title("氣溫變化圖", fontproperties=my_font) plt.show()
3、案例三
# coding=utf-8 ''' 繪制折線圖Demo ''' from matplotlib import pyplot as plt # x軸(axis)為24小時 x = range(0, 24, 2) # y軸為13個數據 y = [15, 13, 5, 17, 20, 25, 26, 26, 24, 22, 18, 15] # 設置圖片大小 plt.figure(figsize=(20, 8), dpi=80) # 保存圖像 # plt.savefig("./氣候圖.png") # 設置x軸的刻度 # plt.xticks(x) plt.xticks(range(0, 24, 2)) # xtick_lables = [i/2 for i in range(0, 49)] # plt.xticks(_xtick_lables[::3]) # 設置y軸的刻度 plt.yticks(range(min(y), max(y), 2)) # 繪圖 plt.plot(x, y) # 展示圖像 plt.show()
4、案例四---繪制多個直線圖
# coding=utf-8 from matplotlib import pyplot as plt import random # 設置字體相關 from matplotlib import font_manager my_font = font_manager.FontProperties(fname="D:\\study\\python-數據分析\\阿里漢儀智能黑體.ttf") y_1 = [1,0,1,1,2,4,3,2,3,4,4,5,6,5,4,3,3,1,1,1] y_2 = [1,0,3,1,2,2,3,3,2,1 ,2,1,1,1,1,1,1,1,1,1] x = range(11,31) #設置圖形大小 plt.figure(figsize=(20,8),dpi=80) plt.plot(x,y_1,label="自己",color="#F08080") plt.plot(x,y_2,label="同桌",color="#DB7093",linestyle="--") #設置x軸刻度 _xtick_labels = ["{}歲".format(i) for i in x] plt.xticks(x,_xtick_labels,fontproperties=my_font) # plt.yticks(range(0,9)) #繪制網格 plt.grid(alpha=0.4,linestyle=':') #添加圖例 plt.legend(prop=my_font,loc="upper left") plt.grid(alpha=0.5) #展示 plt.show()