溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Python中的可視化工具Matplotlib

發(fā)布時間:2021-10-28 17:08:02 來源:億速云 閱讀:164 作者:柒染 欄目:編程語言

如何使用Python中的可視化工具Matplotlib,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

Matplotlib是一個Python 2D繪圖庫和一些基本的3D圖表,可以生成各種格式圖片。Matplotlib可用于Python腳本,Python  shell,Jupyter筆記本,Web應(yīng)用程序服務(wù)器等等。

查看Matplotlib 版本

>>> import matplotlib  >>> matplotlib.__version__  '3.0.3'

在Python 中調(diào)用Matplotlib,通常使用 import matplotlib.pyplot 調(diào)用Matplotlib 集成的快速繪圖  pyplot模塊。

Figure(整個圖像)

在任何繪圖之前,需要一個Figure對象,可以理解成需要一張畫板才能開始繪圖。

import matplotlib.pyplot as plt  fig = plt.figure()

在Matplotlib中,整個圖像為一個Figure 對象。Figure對象中可以包含一個或者多個Axes對象,每個Axes  對象都是一個擁有自己坐標(biāo)系統(tǒng)的繪圖區(qū)域。

如何使用Python中的可視化工具Matplotlib

Axes(軸線)

在擁有Figure對象之后,在作畫前還需要軸,沒有軸的話就沒有繪圖基準(zhǔn),所以需要添加Axes。也可以理解成為真正可以作畫的紙。

ax = fig.add_subplot(111)  ax.set(xlim=[0, 5], ylim=[0, 6], title='An Example Axes',  ylabel='Y-Axis', xlabel='X-Axis')  plt.show()

上述代碼,在一幅圖上添加了一個Axes,然后設(shè)置了這個Axes的X軸以及Y軸的取值范圍,以及一些文本信息。效果如下:

如何使用Python中的可視化工具Matplotlib

Matplotlib下, 一個 Figure 對象可以包含多個子圖(Axes),可以使用 subplot() 快速繪制,其調(diào)用形式如下 :

subplot(numRows, numCols, plotNum)
  • 圖表的整個繪圖區(qū)域被分成 numRows 行和 numCols 列;

  • 然后按照從左到右,從上到下的順序?qū)γ總€子區(qū)域進行編號,左上的子區(qū)域的編號為1;

  • plotNum 參數(shù)指定創(chuàng)建的 Axes 對象所在的區(qū)域;

對于上面的fig.add_subplot(111)就是添加Axes的,參數(shù)的解釋的在畫板的第1行第1列的***個位置生成一個Axes對象來準(zhǔn)備作畫。

也可以通過fig.add_subplot(2, 2, 1)的方式生成Axes,前面兩個參數(shù)確定了面板的劃分。

如果 numRows, numCols 和 plotNum 這三個數(shù)都小于 10 的話, 可以把它們縮寫為一個整數(shù), 例如 subplot(221) 和  subplot(2,2,1) 是相同的。

subplot 在 plotNum 指定的區(qū)域中創(chuàng)建一個軸對象。如果新創(chuàng)建的軸和之前創(chuàng)建的軸重疊的話,之前的軸將被刪除。

如何使用Python中的可視化工具Matplotlib

Multiple Axes 多個子圖

下面的一次性生成所有 Axes:

如何使用Python中的可視化工具Matplotlib

簡單總結(jié)一下

  • 在最頂層的是畫布,稱之為figure;

  • 在畫布上可以在不同的區(qū)域上繪制,這些區(qū)域稱之為subplot;

每一個子圖區(qū)域,又可以做如下劃分:

  • axis 也就是x,y坐標(biāo)軸;

  • tick 也就是每一個坐標(biāo)軸的刻度;

  • label 也就是坐標(biāo)軸上的標(biāo)簽;

  • title 也就是每一個子圖的標(biāo)題;

  • data 是輸入的數(shù)據(jù)繪制出的圖像;

Matplotlib 繪圖演示代碼

將這個圖像劃分成8個子區(qū)域,每個子區(qū)域繪制一個不同的圖像。

import numpy as np  import matplotlib.pyplot as plt  x=[1,2,3,4]  y=[3,5,10,25]  # 創(chuàng)建子圖  plt.subplot(241)  plt.plot(x,y)  plt.title("plot")  plt.subplot(242)  plt.scatter(x, y)  plt.title("scatter")  plt.subplot(243)  plt.pie(y)  plt.title("pie")  plt.subplot(244)  plt.bar(x, y)  plt.title("bar")  plt.subplot(245)  plt.boxplot(y, sym="o")  plt.title("box")  # sin/cos 圖像  plt.subplot(246)  x = np.linspace(0, np.pi)  y_sin = np.sin(x)  y_cos = np.cos(x)  plt.plot(x, y_sin)  plt.plot(x, y_cos)  # g-- 設(shè)置線條樣式和顏色  plt.subplot(247)  plt.plot(x, y_sin, 'g--')  plt.title("sin")  # 加載本地圖片  import matplotlib.image as mpimg  img=mpimg.imread('666.jpg')  plt.subplot(248)  plt.imshow(img)  plt.title("cool...")  plt.show()
如何使用Python中的可視化工具Matplotlib

關(guān)于如何使用Python中的可視化工具Matplotlib問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI