Python數據分析matplotlib折線圖案例處理
前言
以下分享折線圖小案例,matplotlib還可以進行多種圖形的繪制,可以進入官網 https://matplotlib.org/gallery/index.html,點擊examples,如需學習,選擇要學習的圖進入,裡面包含有代碼
python之matplotlib使用系統字體
1.導包from matplotlib.font_manager import FontProperties2.調用本機字體庫設置字體my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc")
其中,msyh.ttc是自己電腦中的字體,如何找到呢?
在路徑C:\Windows\Fonts的文件夾中,有如下字體,如下圖:
繪圖的時候,直接調用就好
plt.xticks(list(x)[::3],_xtick_labels[::3],rotatinotallow=45,fnotallow=my_font)
實例1:溫度變化統計
#如果列表a便是10點到12點的每一分鐘的氣溫,繪制折線圖 # a=[random.randint(20,35)for i in range(120)] #解決中文不顯示問題 #fc-list -->查看支持的字體 #fc-list :lang=zh -->查看支持的中文(冒號前有空格) from matplotlib import pyplot as plt import random import matplotlib from matplotlib import font_manager #1.windows\linux設置字體 #font = {'family' : 'MicroSoft YaHei', # 'weight' : 'bold', # 'size' : 'larger'} #matplotlib.rc("font",**font) #查看源碼ctrl+b #2.另一種設置字體方式 my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc") #定義x、y軸 x = range(0,120) y = [random.randint(20,35) for i in range(120)] #修改大小尺寸 plt.figure(figsize=(20,8),dpi=80) #繪制 plt.plot(x,y) #調整x軸的刻度 _xtick_labels = ["10點{}分".format(i) for i in range(60)] _xtick_labels += ["11點{}分".format(i) for i in range(60)] #取適當步長,將數字與x軸字符串對應,使得數據長度保持一致 plt.xticks(list(x)[::3],_xtick_labels[::3],rotation=45,fontproperties=my_font) #將x軸字符串旋轉45度 #添加描述信息 plt.xlabel("時間",fontproperties=my_font) plt.ylabel("溫度 單位(°c)",fontproperties=my_font) plt.title("10點到12點每分鐘的氣溫變化情況",fontproperties=my_font) #顯示圖示 plt.show()
實例2:交友數量折線圖
#你與朋友從11到30歲交的朋友數,並比較 from matplotlib import pyplot as plt from matplotlib import font_manager #設置字體 my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\msyh.ttc") #定義坐標軸 x = range(11,31) y_1 = [2,3,3,4,6,5,6,5,8,5,4,6,4,4,4,4,4,3,3,3] y_2 = [1,4,5,5,6,4,5,5,4,7,6,5,3,2,2,6,1,2,6,4] #設置圖形大小 plt.figure(figsize=(20,8),dpi=80) #繪制 plt.plot(x,y_1) plt.plot(x,y_2) #繪制x\y軸刻度,添加描述信息 _xtick_labels = ["{}歲".format(i) for i in x] plt.xticks(x,_xtick_labels,fontproperties=my_font) plt.yticks(range(0,10)) plt.xlabel("年齡",fontproperties=my_font) plt.ylabel("每年交到的新朋友數",fontproperties=my_font) plt.title("與朋友每年新交到朋友數量對比圖",fontproperties=my_font) #繪制網格,並設置透明度 plt.grid(alpha=0.3) #展示 plt.show()
1.這個案例中涉及到一表多圖,其實很簡單,與單圖設計一樣,隻要再添加一組y軸坐標。
這裡x軸是共有的,不需要另行設置。#定義坐標軸
x = range(11,31)
y_1 = [2,3,3,4,6,5,6,5,8,5,4,6,4,4,4,4,4,3,3,3]
y_2 = [1,4,5,5,6,4,5,5,4,7,6,5,3,2,2,6,1,2,6,4]
#繪制
plt.plot(x,y_1)
plt.plot(x,y_2)
2.繪制網格及設置透明度
plt.grid(alpha=0.3)
3.但是當你給別人展示時,並沒有源碼,別人很難分清哪個曲線是你的,哪個是你朋友的,這時就需要我們添加圖例,並且要註意的是:
通常我們設置中文字體是對應方法後添加fontproperties=my_font
,但是在添加圖例中用到的是prop=my_font
如圖所示:
4.更改圖例位置
由於初學,很多方法我們還不是很清楚,所以我們要學會查看源碼(選中方法名+ctrl+b)
再使用一次,進入後會找到有關參數loc(location)的描述,我們設置loc=“upper left”,結果如圖所示
5.設置曲線顏色,線條樣式
#繪制,添加顏色 plt.plot(x,y_1,label="自己",color="y") plt.plot(x,y_2,label="朋友",color="cyan")
#繪制,添加線條類型 plt.plot(x,y_1,label="自己",color="purple",linestyle='-.') plt.plot(x,y_2,label="朋友",color="cyan",linestyle='--')
到此這篇關於Python數據分析matplotlib折線圖案例處理的文章就介紹到這瞭,更多相關Python matplotlib折線圖 內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 如何解決pycharm中用matplotlib畫圖不顯示中文的問題
- 如何使用Python Matplotlib繪制條形圖
- Matplotlib中rcParams使用方法
- matplotlib基本圖形繪制操作實例
- Python中的數據可視化matplotlib與繪圖庫模塊