目錄
一、什么是matplotlib庫
二、基本用法
1、繪制簡單的線圖
?plot()函數(shù):
2、繪制散點圖
scatter()函數(shù):
3、繪制條形圖?
bar()函數(shù):
4、繪制餅圖
pie()函數(shù):
三、重要用法
1、設(shè)置樣式
2、添加標(biāo)簽
3、設(shè)置坐標(biāo)軸范圍
4、繪制多個圖表
5、繪制3D圖表
四、注意點
五、在機(jī)器學(xué)習(xí)中的應(yīng)用
樣例:
1、繪制線條
2、繪制散點圖
3、繪制直方圖
一、什么是matplotlib庫
??matplotlib
是一個用于繪制各種類型圖表的Python繪圖庫,它以各種硬拷貝格式和跨平臺的交互式環(huán)境生成出版質(zhì)量級別的圖形。它支持各種不同的圖表類型,包括線圖、散點圖、條形圖、餅圖等。
? ? ? ? Matplotlib模塊中最常用的是pyplot子模塊,其中包含我們需要的諸多功能函數(shù),因此在開始使用前,我們依舊約定,將matplotlib庫的pyplot子庫寫法做如下簡化:
import matplotlib.pyplot as plt
二、基本用法
1、繪制簡單的線圖
?plot()函數(shù):
? ? ? ? 繪制曲線可用函數(shù)。繪制過程需在畫布上進(jìn)行,如果沒事先顯式創(chuàng)造畫布對象,則plot會在繪制前隱式地創(chuàng)建一個畫布
? ? ? ? 基本格式為:plt.plot(x, y, format_string, **kwargs)
其中:x、y為所對應(yīng)軸的數(shù)據(jù),是列表或數(shù)組;format_string為控制曲線的格式字符串(可選);參數(shù)四則表示第二組或更多組(x, y, format_string)數(shù)據(jù)
import matplotlib.pyplot as plt
# 創(chuàng)建數(shù)據(jù)
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
# 繪制圖表
plt.plot(x, y)
# 顯示圖表
plt.show()
輸出結(jié)果:
2、繪制散點圖
scatter()函數(shù):
散點圖的繪制工具,基本格式為:plt.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None,vmin=None, vmax=None, alpha=None, linewidths=None,verts=None, edgecolors=None, hold=None, data=None,**kwargs)
其中:
x,y:輸入數(shù)據(jù),形狀為 shape(n,))的數(shù)組。
c:標(biāo)記的顏色,可選,默認(rèn)為'b'即藍(lán)色。
marker:標(biāo)記的樣式,默認(rèn)為'o'。
alpha:透明度,實數(shù),0~1。
linewidths:標(biāo)記點的寬度。
import matplotlib.pyplot as plt
# 創(chuàng)建數(shù)據(jù)
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
# 繪制圖表
plt.scatter(x, y)
# 顯示圖表
plt.show()
輸出結(jié)果:
3、繪制條形圖?
bar()函數(shù):
繪制條形圖的工具,基本格式為:bar(x,height, width=0.8,bottom=None,hold=None,data=None,**kwargs)
其中:
x:x軸刻度,為數(shù)值序列或字符串序列
height:y軸,展示的數(shù)據(jù)→柱形圖高度
import matplotlib.pyplot as plt
# 創(chuàng)建數(shù)據(jù)
labels = ['A', 'B', 'C', 'D']
values = [1, 4, 9, 16]
# 繪制圖表
plt.bar(labels, values)
# 顯示圖表
plt.show()
輸出結(jié)果:
4、繪制餅圖
pie()函數(shù):
餅圖繪制工具,基本格式為:plt.pie(values,?labels=labels,?colors=colors,?explode=explode,?autopct=autopct,?shadow=shadow)
其中:
values:表示餅圖的數(shù)值,可以是一個序列或者列表;
labels:表示餅圖各部分的標(biāo)簽,可以是一個序列或者列表;
colors:表示餅圖各部分的顏色,可以是一個序列或者列表;
explode:表示餅圖各部分與中心的距離,可以是一個序列或者列表;
autopct:表示餅圖各部分所占比例的顯示方式;
shadow:表示是否給餅圖添加陰影。
注意:values參數(shù)是必須要指定的,而其他參數(shù)都是可選的。同時,labels、colors、explode、autopct這些參數(shù)的長度必須與values的長度相同。
import matplotlib.pyplot as plt
# 創(chuàng)建數(shù)據(jù)
labels = ['A', 'B', 'C', 'D']
values = [1, 4, 9, 16]
# 繪制圖表
plt.pie(values, labels=labels)
# 顯示圖表
plt.show()
輸出結(jié)果:
三、重要用法
????????除了基本用法,matplotlib
還有許多重要的用法,例如設(shè)置圖表的樣式、添加標(biāo)簽、設(shè)置坐標(biāo)軸范圍等
1、設(shè)置樣式
import matplotlib.pyplot as plt
# 創(chuàng)建數(shù)據(jù)
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
# 設(shè)置樣式
plt.style.use('ggplot')
# 繪制圖表
plt.plot(x, y)
# 顯示圖表
plt.show()
?效果如下:
2、添加標(biāo)簽
import matplotlib.pyplot as plt
# 創(chuàng)建數(shù)據(jù)
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
# 繪制圖表
plt.plot(x, y)
# 添加標(biāo)簽
plt.title('Square Numbers')
plt.xlabel('Value')
plt.ylabel('Square of Value')
# 顯示圖表
plt.show()
效果如下:
?
3、設(shè)置坐標(biāo)軸范圍
import matplotlib.pyplot as plt
# 創(chuàng)建數(shù)據(jù)
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
# 繪制圖表
plt.plot(x, y)
# 設(shè)置坐標(biāo)軸范圍
plt.xlim(0, 5)
plt.ylim(0, 20)
# 顯示圖表
plt.show()
?效果如下:
4、繪制多個圖表
import matplotlib.pyplot as plt
# 創(chuàng)建數(shù)據(jù)
x = [1, 2, 3, 4]
y1 = [1, 4, 9, 16]
y2 = [1, 2, 3, 4]
# 繪制圖表
plt.subplot(2, 1, 1)
plt.plot(x, y1)
plt.title('Subplots Example')
plt.ylabel('Square of Value')
plt.subplot(2, 1, 2)
plt.plot(x, y2)
plt.xlabel('Value')
plt.ylabel('Value')
# 顯示圖表
plt.show()
效果如下:
5、繪制3D圖表
import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d
import numpy as np
# 創(chuàng)建數(shù)據(jù)
fig = plt.figure()
ax = plt.axes(projection='3d')
z = np.linspace(0, 1, 100)
x = z * np.sin(25 * z)
y = z * np.cos(25 * z)
# 繪制圖表
ax.plot3D(x, y, z, 'gray')
ax.set_title('3D Line Plot')
# 顯示圖表
plt.show()
效果如下:
四、注意點
在使用matplotlib
庫時,有一些要注意的點:
- 使用
plt.show()
命令顯示圖表。在交互模式下,圖表會自動顯示,但在腳本模式下,需要使用plt.show()
命令顯示圖表。如果沒有顯示圖表,可以嘗試添加plt.show()
命令。 - 使用
plt.plot()
繪制線條時,可以設(shè)置顏色、線型、標(biāo)記等屬性。例如,plt.plot(x, y, 'ro-')
表示繪制紅色圓圈標(biāo)記的線條。 - 使用
plt.xlabel()
和plt.ylabel()
設(shè)置坐標(biāo)軸標(biāo)簽,使用plt.title()
設(shè)置圖表標(biāo)題。 - 使用
plt.xlim()
和plt.ylim()
設(shè)置坐標(biāo)軸范圍,使用plt.xticks()
和plt.yticks()
設(shè)置坐標(biāo)軸刻度。 - 使用
plt.legend()
添加圖例,可以在圖表中顯示每個線條的標(biāo)簽。
五、在機(jī)器學(xué)習(xí)中的應(yīng)用
matplotlib
庫在機(jī)器學(xué)習(xí)中的應(yīng)用非常廣泛,主要是用于數(shù)據(jù)可視化和結(jié)果分析,常見的應(yīng)用場景包括:
-
數(shù)據(jù)可視化:在機(jī)器學(xué)習(xí)中,我們通常需要對數(shù)據(jù)進(jìn)行可視化,以便更好地理解數(shù)據(jù)、發(fā)現(xiàn)數(shù)據(jù)中的規(guī)律和趨勢、選擇合適的特征和算法等。
matplotlib
庫提供了豐富的繪圖函數(shù)和工具,可以繪制線條、散點圖、直方圖、箱線圖、熱力圖等,方便用戶進(jìn)行數(shù)據(jù)探索和分析。 -
模型性能評估:在機(jī)器學(xué)習(xí)中,我們需要對模型的性能進(jìn)行評估,例如計算準(zhǔn)確率、召回率、F1值等指標(biāo)。
matplotlib
庫提供了繪制ROC曲線、學(xué)習(xí)曲線、驗證曲線等函數(shù),可以直觀地展示模型的性能,幫助用戶進(jìn)行結(jié)果分析和模型選擇。 -
結(jié)果可視化:在機(jī)器學(xué)習(xí)中,我們需要將模型訓(xùn)練的結(jié)果進(jìn)行可視化,例如繪制分類決策邊界、預(yù)測結(jié)果等。
matplotlib
庫提供了繪制等高線圖、3D圖、動態(tài)圖等函數(shù),可以展示模型的決策邊界、分類效果等,方便用戶進(jìn)行結(jié)果可視化和模型調(diào)整。
總的來說,matplotlib
庫是機(jī)器學(xué)習(xí)中不可或缺的數(shù)據(jù)可視化工具,可以幫助用戶更好地理解數(shù)據(jù)和模型,進(jìn)行結(jié)果分析和模型選擇。
樣例:
1、繪制線條
import matplotlib.pyplot as plt
import numpy as np
# 生成數(shù)據(jù)
x = np.linspace(0, 10, 100)
y = np.sin(x)
# 繪制線條
plt.plot(x, y)
# 設(shè)置標(biāo)題和坐標(biāo)軸標(biāo)簽
plt.title('Sin Function')
plt.xlabel('X')
plt.ylabel('Y')
# 顯示圖表
plt.show()
?效果如下:
2、繪制散點圖
import matplotlib.pyplot as plt
import numpy as np
# 生成數(shù)據(jù)
x = np.random.rand(100)
y = np.random.rand(100)
colors = np.random.rand(100)
# 繪制散點圖
plt.scatter(x, y, c=colors)
# 設(shè)置標(biāo)題和坐標(biāo)軸標(biāo)簽
plt.title('Random Data')
plt.xlabel('X')
plt.ylabel('Y')
# 顯示圖表
plt.show()
效果如下:
3、繪制直方圖
import matplotlib.pyplot as plt
import numpy as np
# 生成數(shù)據(jù)
data = np.random.randn(1000)
# 繪制直方圖
plt.hist(data, bins=30)
# 設(shè)置標(biāo)題和坐標(biāo)軸標(biāo)簽
plt.title('Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')
# 顯示圖表
plt.show()
效果如下:
文章來源:http://www.zghlxwxcb.cn/news/detail-694971.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-694971.html
到了這里,關(guān)于【機(jī)器學(xué)習(xí)基礎(chǔ) 2】matplotlib庫的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!