數據分析與展示---Matplotlib入門
阿新 • • 發佈:2018-07-11
lib alt 5.0 圖片 簡單使用 arr eight urn 增加
簡介:
一:Matplotlib庫的介紹
(一)簡單使用
二:區域劃分subplot
三:plot函數
四:pyplot的中文顯示
(一)方法一:修改rcParams參數
(二)方法二(推薦),在有中文地方增加屬性:fontproperties
五:pyplot的文本顯示方法
六:pyplot的子繪圖區域
(一)subplot2grid()
(二)GridSpec類加上subplot方法
一:Matplotlib庫的介紹
(一)簡單使用
import matplotlib.pyplot as plt plt.plot([3,1,4,5,2]) plt.ylabel("grade") plt.show()
import matplotlib.pyplot as plt plt.plot([3,1,4,5,2]) plt.ylabel("grade") plt.savefig("test",dip=600) #png文件,dpi修改輸出質量 plt.show()
import matplotlib.pyplot as plt plt.plot([0,2,4,6,8],[3,1,4,5,2]) #第一個列表是x軸列表,第二個是y軸列表 plt.ylabel("grade") plt.axis([-1,10,0,6]) #前兩個是x軸的取值範圍-1到10,後兩個是y軸取值範圍0-6 plt.show()
二:區域劃分subplot
註意:劃分區域可以不使用‘,‘
import matplotlib.pyplot as plt import numpy as np def f(t): return np.exp(-t)*np.cos(2*np.pi*t) #衰減曲線 a = np.arange(0.0,5.0,0.02) plt.subplot(211) #劃分為兩行一列,選取第一個區域 plt.plot(a,f(a)) #繪制衰減曲線 plt.subplot(2,1,2) #在將繪圖區域換到整個繪圖區域的第二個,自動切換 plt.plot(a,np.cos(2*np.pi*a),‘r--‘) #繪制余弦曲線 plt.show()
三:plot函數
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()
如何控制顏色等曲線屬性:通過參數format_string
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()
四:pyplot的中文顯示
(一)方法一:修改rcParams參數
import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams[‘font.family‘]=‘SimHei‘ plt.plot([0,2,4,6,8],[3,1,4,5,2])#第一個列表是x軸列表,第二個是y軸列表 plt.ylabel("縱向軸") #默認是不允許中文,會報錯 plt.axis([-1,10,0,6]) #前兩個是x軸的取值範圍-1到10,後兩個是y軸取值範圍0-6 plt.show()
import matplotlib.pyplot as plt import numpy as np import matplotlib matplotlib.rcParams[‘font.family‘] = "SimHei" 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()
(二)方法二(推薦),在有中文地方增加屬性:fontproperties
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--‘) plt.show()
五:pyplot的文本顯示方法
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=20,color="green") plt.ylabel("縱軸:振幅",fontproperties="SimHei",fontsize=20) plt.title(r‘正弦波實例 $cons(2\pi x)$‘,fontproperties="SimHei",fontsize=15) plt.text(2,1,r‘$\mu=100$‘,fontsize=15) #2 1 是橫縱坐標 plt.axis([-1,6,-2,2]) plt.grid(True) plt.show()
plt.annotate(r"$\mu=100$",xy=(2,1),xytext=(3,1.5),arrowprops=dict(facecolor="black",shrink=0.1,width=2)) #shrink是箭頭兩邊到圖像,文字之間的間隔(相對於箭頭的比例)
六:pyplot的子繪圖區域
上面使用了subplot進行了簡單的區域劃分,下面考慮復雜的繪圖區域的劃分
(一)subplot2grid()
(二)GridSpec類加上subplot方法
總結
數據分析與展示---Matplotlib入門