大数据分析/机器学习基础之matplotlib绘图篇
-
一、前言
- 我的運(yùn)行環(huán)境
- 二、什么是matplotlib?
- 三、安裝及導(dǎo)入
- 四、matplotlib的使用
一、前言
本人因在學(xué)習(xí)基于python的機(jī)器學(xué)習(xí)相關(guān)教程時(shí)第一次接觸到matplotlib相關(guān)方面的繪圖知識(shí),故寫(xiě)此筆記進(jìn)行記錄,如果能幫助到其他人歡迎點(diǎn)個(gè)贊??表示支持
我的運(yùn)行環(huán)境
- 學(xué)習(xí)工具:jupyter-notebook
- python版本:311
- 系統(tǒng):Win11
二、什么是matplotlib?
matplotlib是基于python生態(tài)開(kāi)發(fā)的一個(gè)可視化繪圖庫(kù),它的出現(xiàn)讓python在數(shù)據(jù)分析及機(jī)器學(xué)習(xí)方面占了重要的一部分,目前很多數(shù)據(jù)分析及機(jī)器學(xué)習(xí)相關(guān)方面的工程都有使用到這個(gè)庫(kù),并且由于其簡(jiǎn)單易用,安裝簡(jiǎn)單等方面的優(yōu)勢(shì)深得廣大開(kāi)發(fā)者的喜愛(ài)。
三、安裝及導(dǎo)入
1.安裝pip install matplotlib
2. 導(dǎo)入項(xiàng)目
新建項(xiàng)目并直接import即可import matplotlib.pyplot as plt,簡(jiǎn)單易用
四、matplotlib的使用
- 基礎(chǔ)使用:生成一個(gè)畫(huà)布
#定義一個(gè)畫(huà)布
#subplots(X,Y,figsize=(X,Y))
#其中figsize(X,Y) 用于定義畫(huà)布的大小
fig,ax = plt.subplots(figsize = (10, 5))
plt.show()
- 生成多個(gè)子圖(ax)
#subplots(X,Y)用于定義該畫(huà)布有幾行幾列,即一個(gè)大畫(huà)布fig上有多個(gè)小畫(huà)布ax組成axes
fig,axes = plt.subplots(2,3,figsize = (10, 4))
plt.show()
- 繪制多個(gè)子圖
#繪制多個(gè)子圖
fig,axes = plt.subplots(1,2,figsize=(10,4)) #繪制一個(gè)一行兩列的圖
x=[1,20,40,15,2]
y=[4,6,15,7,6]
#對(duì)第一個(gè)子圖進(jìn)行繪制
bplot1 = axes[0].plot(x,y)
#繪制第二個(gè)子圖
bplot2 = axes[1].plot(y,x)
- 同一塊畫(huà)布上繪制多條函數(shù)
#簡(jiǎn)單的線性圖
# x = list(range(0,10))
# y =list(range(0,10))
# plt.plot(x,y)
plt.plot(range(12),color="red") #等價(jià)于上面的操作
plt.plot([1,2,3]) #在現(xiàn)有的畫(huà)布上繼續(xù)繪畫(huà)零一條直線
- 放大圖像(只顯示函數(shù)圖像的一部分)
#原函數(shù)圖像
x=[1,20,40,15,2]
y=[4,6,15,7,6]
plt.plot(x,y)
#直接對(duì)x,y賦值
x=[1,20,40,15,2]
y=[4,6,15,7,6]
plt.plot(x,y)
#通過(guò)設(shè)定坐標(biāo)軸刻度,只顯示部分圖形
plt.axis([0,10,0,10]) #x:[0,10],y:[0,10]
- 為圖像添加標(biāo)題橫縱坐標(biāo)信息
- 添加標(biāo)題和x、y名稱
x=[1,20,40,15,2]
y=[4,6,15,7,6]
#添加標(biāo)題
plt.title("matplotlibTest")
#添加x,y軸名稱
plt.xlabel("Feature")
plt.ylabel("shape")
plt.plot(x,y)
- 更改x、y軸刻度(純數(shù)字形式)
x=[1,20,40,15,2]
y=[4,6,15,7,6]
#添加標(biāo)題
plt.title("matplotlibTest")
#添加x,y軸名稱
plt.xlabel("Feature")
plt.ylabel("shape")
#修改x軸刻度,純數(shù)字形式
plt.xticks((0,10,20,30,40))
#修改y軸刻度,純數(shù)字形式
plt.yticks((0,5,10,15,20))
plt.plot(x,y)
- 更改x、y軸刻度(自定義坐標(biāo)信息)
x=[1,20,40,15,2]
y=[4,6,15,7,6]
#添加標(biāo)題
plt.title("matplotlibTest")
#添加x,y軸名稱
plt.xlabel("Feature")
plt.ylabel("shape")
#自定義x軸坐標(biāo)信息
plt.xticks((0,10,20,30,40),('text1','text2','text3','text4','text5'))
#自定義y軸坐標(biāo)信息
plt.yticks((0,5,10,15,20),('align1','align2','align3','align4','align5'))
plt.plot(x,y)
- 基于axes的顯示畫(huà)圖
#基于 axes 的顯式畫(huà)圖:用 Axes 畫(huà)圖更加直觀,所以被稱為“顯式畫(huà)圖”,直接用 Figure畫(huà)圖,被稱為 “隱式畫(huà)圖”
import numpy as np
x = np.linspace(-1,1,50) #生成50個(gè)-1到1之間的數(shù)
y = x**2
fig = plt.figure() #生成空白畫(huà)布
ax = fig.add_subplot() #空白的子圖
ax.plot(x,y,color="red",linewidth=4,linestyle='-.',marker='o') #繪畫(huà)一條函數(shù)圖
ax.plot(y,x) #繪畫(huà)另一條函數(shù)圖
ax.legend(["y=x**2","y**2=x"]) #添加圖例
ax.set_title('x and y',fontsize=20) #設(shè)置標(biāo)題
ax.set_xlabel("x label") #設(shè)置x軸名稱
ax.set_ylabel("y label") #設(shè)置y軸名稱
ax.set_xlim(-1,1) #設(shè)置x軸范圍
ax.set_ylim(-1,1) #設(shè)置y軸范圍
# ax.grid(linewidth=3,linestyle=':',color='purple',alpha=0.5)
plt.show()
8.其他
matplotlib除了生成上述的線性圖以外還可以生成其他箱圖等特殊的圖像形式,具體可以參考matplotlib的官方文檔https://matplotlib.org/stable/tutorials/index.html
總結(jié)
以上是生活随笔為你收集整理的大数据分析/机器学习基础之matplotlib绘图篇的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 再学Blazor——组件建造者
- 下一篇: 代码质量-开闭原则