python圖形化編程工具「matplotlib數據可視化」

今天給大家介紹數據可視化領域的知識~

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:標記圖形內容的標籤文本

常用的顏色簡寫:

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

3. 效果

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

二、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.效果

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

散點圖

三、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.效果

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

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()

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

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.效果

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

設置坐標軸文本標籤

五、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.效果

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

設置網格

六、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. 效果

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

繪製參考線

七、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. 效果

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

繪製參考區域

八、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. 效果

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

繪製帶箭頭指向的注釋

九、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. 效果

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

繪製無箭頭指向的注釋

十、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. 效果

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

繪製標題

十一、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:圖例在圖表中的位置,值可以設置方位字元串,也可以設置方位置編號。

位置字元串 含義

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

3. 效果

數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

繪製圖例及定位

十二、本節知識點總結數據可視化快速上手,matplotlib讓你的論文插圖更漂亮

本節知識點總結

十三、綜合練習

1. 題目

根據我們本節所介紹的matplotlib知識點,請繪製出以下函數圖像:數據可視化快速上手,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-tw/n/255715.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-15 12:30
下一篇 2024-12-15 12:30

相關推薦

發表回復

登錄後才能評論