(五)Matplotlib庫入門|python數(shù)據(jù)分析與展示(學習筆記)

1.本周課程導學
2.Matplotlib庫的介紹
3.pyplot 的plot()函數(shù)
4.pyplot 的中文顯示
5.pyplot 的文本顯示
6.pyplot 的子繪圖區(qū)域
7.單元小結(jié)

網(wǎng)頁鏈接【Python 數(shù)據(jù)分析與展示】.MOOC. 北京理工大學
https://www.bilibili.com/video/av15825380/index_4.html#page=21

最近更新:2018-01-23

1.本周課程導學

2.Matplotlib庫的介紹

2.1Matplotlib庫的效果

2.1Matplotlib庫的使用

  • 1個參數(shù)使用例子
    [3,1,4,5,2]是作為縱坐標的值,plot函數(shù)輸入?yún)?shù)只是一個一維的列表,那么這個參數(shù)會被當作y軸來處理.x軸就是這個列表的索引,第一個元素是0,第二個元素是1,最后一個索引元素是4,橫坐標是0到4這個跨度組成.x軸是自動生成的.
import matplotlib.pyplot as plt
import numpy as np

plt.plot([3,1,4,5,2])
plt.ylabel("grade")
plt.show()
  • 繪制的圖像存儲文件
  • 2個參數(shù)維使用例子
    • 前面的參數(shù)代表x軸,后面的參數(shù)代表y軸
      -plt. axis是橫縱坐標尺度的函數(shù).它的參數(shù)是具有四個變量的列表-1,10是代表x軸最左側(cè)的坐標,起始于-1,終止于10,縱軸的坐標起始于0,終止于6



2.1pylot的繪圖區(qū)域

2.1.1pylot的繪圖區(qū)域方法介紹
  • 第1參數(shù)是為橫軸數(shù)量.第2參數(shù)是為縱軸數(shù)量子區(qū)域,第3參數(shù)是為當前繪圖區(qū)的哪一塊區(qū)域.從左上角開始為編號1號區(qū)域,從左往右,然后不斷換行,按從左往右開始逐一編號.

  • 比如這里的plt.subplot(3,2,4)將繪圖區(qū)域分為3個橫軸,2個縱軸,區(qū)域分成6塊.4為當前繪圖區(qū)域.

  • plt.subplot(3,2,4)由于都是數(shù)字,可以將逗號去掉,寫成plt.subplot(324)

2.1.2pylot的繪圖區(qū)域?qū)嵗?/h5>
  • f(t)是一個能量衰減函數(shù), 使用numpy作為計算數(shù)組返回衰減的一個基礎類
  • numpy生成數(shù)組a
  • 注意subplot的使用,使用subplot產(chǎn)生一個211的參數(shù),將繪圖區(qū)域,分為2行1列,選擇上面1號這一塊
  • plot(a,f(a))繪制對應a的能量衰減曲線.之后將當前的繪圖區(qū)域放到整個圖形繪制區(qū)域的下面部分.使用subplot(2,1,2)選擇編號2區(qū)域.
  • 對a做一個cos函數(shù)處理,繪制余弦曲線,曲線的形式設置為一個曲線的格式
  • 重點理解子繪圖區(qū)域的概念,subplot可以確定子繪圖區(qū)域.


3.pyplot 的plot()函數(shù)

3.1plot()函數(shù)介紹

3.2plot()函數(shù)實例

 import matplotlib.pyplot as plt
 import numpy as np
 a=np.arange(10)
 plt.plot(a,a*1.5,a,a*2.5,a,a*3.5,a,a*4.5)
 plt.show()
3.3format_string

format_string由顏色字符/風格字符和標記字符可以組合使用

3.3.1顏色字符定義
3.3.2風格字符定義
3.3.3標記字符定義
  • 標記字符的介紹


  • 標記字符的實例介紹
import matplotlib.pyplot as plt

import numpy as np

a=np.arange(10)

plt.plot(a,a*1.5,"go-",a,a*2.5,"rx",a,a*3.5,"*",a,a*4.5,"b-.")
plt.show()

如果沒有注明顏色,系統(tǒng)會自動用其他顏色畫出.

3.3.4其他方式的標記定義

與之前的簡寫字符是一一對應的


4.pyplot的中文顯示

pyplot并不默認中文的顯示,希望在坐標系出現(xiàn)中文的漢字,需要增加額外的代碼輔助介紹兩種方法,具體如下:

4.1第一種pyplot的中文顯示方法

SimHei是中文黑體的意思


image.png
import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams["font.family"]="SimHei"
plt.plot([3,1,4,5,2])
plt.ylabel("縱坐標(值)")
plt.savefig("test",dpi=600)
plt.show()
  • rcParams的屬性
    這種字體的改變,會改變繪圖所有的文本,比如橫縱坐標的數(shù)字,文本均會改變成相對應的字體.

運用實例

import matplotlib
import numpy as np

matplotlib.rcParams["font.family"]="STSong"
matplotlib.rcParams["font.size"]=20

a=np.arange(0.0,5.0,0.02)
plt.xlabel("橫軸:時間")
plt.ylabel("縱軸:振幅")
plt.plot(a,np.cos(2*np.pi*a),"r--")
plt.show()

4.2第二種pyplot的中文顯示方法(最好使用這個)

  • 在有中文輸出的地方,增加一個屬性fontproperties.
  • fontproperties僅對設置的區(qū)域起作用,其他的地方的數(shù)字和文字不起作用


import matplotlib.pyplot as plt
import numpy as np

a=np.arange(0.0,5.0,0.02)
plt.xlabel("橫軸:時間",fontproperties="SimHei",fontsize=20)
plt.ylabel("縱軸:振幅",fontproperties="SimHei",fontsize=20)
plt.plot(a,np.cos(2*np.pi*a),"r--")

5.pyplot 的文本顯示

5.1pyplot 的文本顯示函數(shù)

至少要掌握這5個基本函數(shù),這樣繪制的圖形才非常專業(yè)


5.2實例

  • $y=cos(2\pi x)$這個是排版格式
  • plt.grid(True)這個加入網(wǎng)格


import matplotlib.pyplot as plt
import numpy as np

a=np.arange(0.0,5.0,0.02)
plt.plot(a,np.cos(2*np.pi*a),"r--")
plt.xlabel("橫軸:時間",fontproperties="SimHei",fontsize=15,color="green")
plt.ylabel("縱軸:振幅",fontproperties="SimHei",fontsize=15)
plt.title(r"正弦波實例 $y=cos(2\pi x)$",fontproperties="SimHei",fontsize=25)
plt.text(2,1,r"$\mu=100$",fontsize=15)
plt.axis([-1,6,-2,2])
plt.grid(True)
plt.show()
image.png

5.3annotate函數(shù)

  • s代表要注解的字符串是什么
  • xy表示箭頭所在位置
  • xytext表示文本顯示的位置
  • arrowprops字典類型,定義了箭頭的屬性
import matplotlib.pyplot as plt
import numpy as np

a=np.arange(0.0,5.0,0.02)
plt.plot(a,np.cos(2*np.pi*a),"r--")
plt.xlabel("橫軸:時間",fontproperties="SimHei",fontsize=15,color="green")
plt.ylabel("縱軸:振幅",fontproperties="SimHei",fontsize=15)
plt.title(r"正弦波實例 $y=cos(2\pi x)$",fontproperties="SimHei",fontsize=25)
plt.annotate(r"$\mu=100$",xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor="black",shrink=0.1,width=2))
plt.axis([-1,6,-2,2])
plt.grid(True)
plt.show()

width箭頭的寬度,shrink表示箭頭不跟所指的位置直接靠近,留有一個很小的空白.

6.pyplot 的子繪圖區(qū)域

應該這樣繪制復雜的區(qū)域


6.1subplot2grid()函數(shù)介紹

  • 第一個參數(shù)是個元組,將區(qū)域分割成什么樣的網(wǎng)格形狀,比如(3,3)表示把一個區(qū)域分割成三行三列,九塊區(qū)域的一個基本類型.

  • 第二個參數(shù)代表subplot當前選定的區(qū)域在那里?針對(3,3) 而言(1,0)代表的是第一行第0列所在位置,也是圖中左側(cè)繪制區(qū)域的部分.

  • 第三個參數(shù)colspan表示的是列的延伸,也就是從(1,0)開始,在列的方向上在延伸兩個長度.就是圖中所構(gòu)造的黃色區(qū)域.


  • subplot2grid()函數(shù)實例


6.2GridSpec類介紹

GridSpec(3,3)代表的是3行3列


7.單元小結(jié)


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容