今天給大家介紹數據可視化領域的知識~
matplotlib是python中的繪圖工具庫,也是平面數據可視化領域應用最廣泛的繪圖工具之一,接下來我們就從常用函數的角度向大家介紹matplotlib的用法!
一、plot()函數
1. 函數功能
展現變量的趨勢變化,通常用於繪製線圖。
2. 實例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.01, 12, 100) # 生成100個從0.01到12的均勻數值
y = np.cos(x) # 餘弦函數
plt.plot(x,y,ls='-',color='r',lw=2,label='plot figure') # 設置繪圖屬性
plt.legend() # 讓代碼產生效果,如圖例的名稱
plt.show() # 顯示圖像
參數說明:
- x:x軸上的數字
- y:y軸上的數字
- ls:折線的風格
- color:線條的顏色
- lw: 折線線條的寬度
- label:標記圖形內容的標籤文本
常用的顏色簡寫:

3. 效果

二、scatter()函數
1. 函數功能
尋找變量之間的關係,用於繪製散點圖。
2.實例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(2, 9, 500) # 從2到9均勻取500個數
y = np.random.randn(500) # 在標準正態分佈中隨機取500個數
plt.scatter(x,y,s=10,c='g',label='scatter figure') # x,y的數據規模必須要相同
plt.legend()
plt.show()
參數說明:
- s:散點的大小,默認為50
- c:散點的顏色,默認為藍色,這裡設為g表示green綠色。
- label:標記圖形內容的標籤文本
3.效果
散點圖
三、xlim()函數
1. 函數功能
設置x軸的顯示範圍
2.實例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(2,9,500)
y = np.random.randn(500)
plt.scatter(x, y,c='g',s=10,label="scatter figure")
plt.legend()
plt.xlim(0,10)
plt.ylim(0,1)
plt.show()
參數說明:
對x軸操作plt.xlim(xmin,xmax),同理對y軸操作plt.ylim(ymin,ymax)
- xmin:x軸上的刻度最小值
- xmax:x軸上的刻度最大值
3.效果
x軸刻度範圍0~10
生成同樣的散點分佈圖,如果把x軸刻度調成與生成範圍一致(2~9),我們就會發現散點均勻地分佈滿了x軸範圍。
x = np.linspace(2,9,500)
y = np.random.randn(500)
plt.scatter(x, y,c='g',s=10,label="scatter figure")
plt.legend()
plt.xlim(2,9)
plt.ylim(0,1)
plt.show()
x軸刻度2~9
四、xlabel()函數
1. 函數功能
設置x軸標籤文本
2.實例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1, 10, 100)
y = np.cos(x)
plt.plot(x,y,ls='-.',lw=2,c='g',label='xlable')
plt.legend()
plt.xlabel('x-label') # 設置x軸文本標籤
plt.ylabel('y-label') # 設置y軸文本標籤
plt.show()
參數說明:
設置坐標軸x軸文本標籤xlabel(string) 設置y軸文本標籤ylabel(string)
3.效果
設置坐標軸文本標籤
五、grid()函數
1. 函數功能
繪製刻度線的網格線
2.實例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1, 10, 100)
y = np.cos(x)
plt.plot(x,y,ls='-',lw=2,c='r',label='grid figure')
plt.legend()
plt.grid(linestyle=":",color='g')
plt.show()
參數說明:
- linestyle: 網格線線條風格,:表示虛線,-表示實線
3.效果
設置網格
六、axhline()函數
1.函數功能
繪製平行於x軸的水平參考線
2. 實例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1, 10, 500)
y = np.cos(x)
plt.plot(x,y,ls='-',c='c',lw=2,label='axhline figure')
plt.legend()
plt.axhline(y=0.0,c='r',ls='--',lw=1)
plt.axvline(x=2.0,c='g',ls='--',lw=1)
plt.show()
參數說明:
繪製水平參考線axhline(y=0.0,c=’r’,ls=’–‘,lw=’1’)
繪製垂直參考線axvline(x=2.0,c=’g’,ls=’–‘,lw=’1’)
- y:水平參考線的y軸位置
- x::垂直參考線的x軸位置
3. 效果
繪製參考線
七、axvspan函數
1.函數功能
繪製垂直與x軸的參考區域
2. 實例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1, 17, 500)
y = np.sin(x)
plt.plot(x,y,ls='--',lw=2,c='c',label='axvspan figure')
plt.legend()
plt.axvspan(5, 10, facecolor='b', alpha=0.2)
plt.axhspan(0.0, 0.5, facecolor='g', alpha=0.2)
plt.show()
參數說明:
繪製垂直與x軸的參考區域:plt.axvspan(xmin=5,xmax=10,facecolor=’b’,alpha=0.2)
- xmin:參考區域的其實位置
- xmax:參考區域的終止位置
- facecolor:參考區域的填充顏色
- alpha:參考區域填充顏色的透明度
3. 效果
繪製參考區域
八、annotate()函數
1.函數功能
設置指向性注釋文本
2. 實例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1, 10, 100)
y = np.cos(x)
plt.plot(x,y,ls='-.',lw=2,c='c',label='annotate figure')
plt.legend()
plt.annotate('minimum', # 圖形注釋的文本
xy=(np.pi,-1.0), # 被注釋的圖形內容坐標
xytext=(5,-0.75), # 注釋文本位置坐標
weight='bold', # 注釋文本字體粗細
color='r', # 注釋文本字體顏色
arrowprops=dict(arrowstyle='->',connectionstyle='arc3',color='r')) # 箭頭的屬性
plt.show()
參數說明:
添加圖形內容細節指向性箭頭注釋plt.annotate(string,xy=(np.pi,-1.0),xytext=(5,-0.75),weight=’bold’,color=’r’,arrowprops=dict(arrowstyle=’->’,connectionstyle=’arc3′,color=”r))
- string:注釋文本內容
- xy:被注釋的圖形位置坐標
- xytext:注釋的文本坐標
- weight:注釋的文本的粗細風格
- color:注釋文本的顏色
- arrowprops:注釋指向性箭頭的屬性,屬性值字典里包含了箭頭的類型、風格、顏色
3. 效果
繪製帶箭頭指向的注釋
九、text()函數
1.函數功能
添加無指向型注釋
2. 實例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1, 5, 100)
y = np.tan(x)
plt.plot(x,y,ls='-.',lw=1,c='g',label='text figure')
plt.legend()
plt.text(2,0.5,'y=tan(x)',weight='bold',color='r')
plt.show()
參數說明:
在圖中添加註釋文本plt.text(x,y,string,weight=’bold’,color=’r’)
- x:注釋位置的橫坐標
- y:注釋位置的縱坐標
- string:注釋的文本內容
3. 效果
繪製無箭頭指向的注釋
十、title()函數
1.函數功能
添加圖表標題
2. 實例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1,5,100)
y = np.tan(x)
plt.plot(x,y,ls='-.',lw=1,c='c',label='title figure')
plt.legend()
plt.title('y = tan(x) figure')
plt.show()
參數說明:
添加圖表標題:plt.title(string)
- string:表示標題文本內容
3. 效果
繪製標題
十一、legend()函數
1.函數功能
顯示圖表圖例,並設置圖例位置
2. 實例代碼
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0.1,8,100)
y = np.sin(x)
z = np.cos(x)
plt.plot(x,y,ls='-',lw=1,c='c',label='legend figure 1')
plt.plot(x,z,ls='-.',lw=1,c='r',label='legend figure 2')
plt.legend(loc='lower left')
plt.show()
參數說明:
標識圖例plt.legend(loc=’lower left’)
- loc:圖例在圖表中的位置,值可以設置方位字符串,也可以設置方位置編號。
位置字符串 含義

3. 效果
繪製圖例及定位
十二、本節知識點總結
本節知識點總結
十三、綜合練習
1. 題目
根據我們本節所介紹的matplotlib知識點,請繪製出以下函數圖像:
題圖
2. 答案
小夥伴們可以根據前面所學的內容,自己動手先敲一下代碼,看能不能做出來~
# matplotlib綜合案例:
import matplotlib.pyplot as plt
import numpy as np
# plot 線圖
x = np.linspace(0.5,3.5,200)
y1 = np.sin(x)
plt.plot(x,y1,ls='--',lw=2,c='k',label='plot figure')
# plot 散點圖
y2 = np.random.randn(200)
plt.scatter(x,y2,s=5,c='m',label='scatter figure')
# 設置橫縱坐標軸範圍
plt.xlim(0.0,4.0)
plt.ylim(-3,3)
# 設置高亮範圍顯示
plt.axvspan(xmin=1.0, xmax=2.0, facecolor='g', alpha=0.3)
# 設置網格子
plt.grid(linestyle=':',color='g')
# 設置箭頭注釋
plt.annotate("maximum",
xy=(np.pi/2,1),
xytext=(2.5,1.5),
weight='bold',
color='r',
arrowprops = dict(arrowstyle='->',connectionstyle='arc3',color='r')
)
# 繪製豎線
plt.axvline(x=np.pi/2,c='c',ls='--',lw=1)
# 設置無箭頭注釋
plt.text(3.5, -0.5, 'y=sin(x)',color='k')
# 設置title
plt.title("Base matplotlib")
# 設置橫縱坐標軸名稱
plt.xlabel('x_axis')
plt.ylabel('y_axis')
plt.legend(loc='upper right')
plt.show()
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/255715.html