Python_matplotlib入門詳解

来源:https://www.cnblogs.com/zzc1102/archive/2022/05/08/16246712.html
-Advertisement-
Play Games

一、Matplotlib 博文來源:https://www.runoob.com/matplotlib/matplotlib-tutorial.html Matplotlib 是 Python 的繪圖庫,它能讓使用者很輕鬆地將數據圖形化,並且提供多樣化的輸出格式。 Matplotlib 可以用來繪製 ...


一、Matplotlib 

博文來源:https://www.runoob.com/matplotlib/matplotlib-tutorial.html

Matplotlib 是 Python 的繪圖庫,它能讓使用者很輕鬆地將數據圖形化,並且提供多樣化的輸出格式。

Matplotlib 可以用來繪製各種靜態,動態,互動式的圖表。

Matplotlib 是一個非常強大的 Python 畫圖工具,我們可以使用該工具將很多數據通過圖表的形式更直觀的呈現出來。

Matplotlib 可以繪製線圖、散點圖、等高線圖、條形圖、柱狀圖、3D 圖形、甚至是圖形動畫等等。

二、Matplotlib 安裝

我們使用 pip 工具來安裝 Matplotlib 庫,

升級 pip:

python3 -m pip install -U pip

 

安裝 matplotlib 庫:

python3 -m pip install -U matplotlib

 

安裝完成後,我們就可以通過 import 來導入 matplotlib 庫:

以下實例,我們通過導入 matplotlib 庫,然後查看 matplotlib 庫的版本號:

實例

import matplotlib

print(matplotlib.__version__)

 

三、Matplotlib Pyplot

Pyplot 是 Matplotlib 的子庫,提供了和 MATLAB 類似的繪圖 API。

Pyplot 是常用的繪圖模塊,能很方便讓用戶繪製 2D 圖表。

Pyplot 包含一系列繪圖函數的相關函數,每個函數會對當前的圖像進行一些修改,例如:給圖像加上標記,生新的圖像,在圖像中產生新的繪圖區域等等。

使用的時候,我們可以使用 import 導入 pyplot 庫,並設置一個別名 plt:

這樣我們就可以使用 plt 來引用 Pyplot 包的方法。

以下實例,我們通過兩個坐標 (0,0) 到 (6,100) 來繪製一條線:

實例

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([0, 6])
ypoints = np.array([0, 100])

plt.plot(xpoints, ypoints)
plt.show()

輸出結果如下所示:

以上實例中我們使用了 Pyplot 的 plot() 函數, plot() 函數是繪製二維圖形的最基本函數。

plot() 用於畫圖它可以繪製點和線,語法格式如下:

# 畫單條線
plot([x], y, [fmt], *, data=None, **kwargs)
# 畫多條線
plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)

參數說明:

  • x, y:點或線的節點,x 為 x 軸數據,y 為 y 軸數據,數據可以列表或數組。
  • fmt:可選,定義基本格式(如顏色、標記和線條樣式)。
  • **kwargs:可選,用在二維平面圖上,設置指定屬性,如標簽,線的寬度等。
>>> plot(x, y)        # 創建 y 中數據與 x 中對應值的二維線圖,使用預設樣式
>>> plot(x, y, 'bo')  # 創建 y 中數據與 x 中對應值的二維線圖,使用藍色實心圈繪製
>>> plot(y)           # x 的值為 0..N-1
>>> plot(y, 'r+')     # 使用紅色 + 號

顏色字元:'b' 藍色,'m' 洋紅色,'g' 綠色,'y' 黃色,'r' 紅色,'k' 黑色,'w' 白色,'c' 青綠色,'#008000' RGB 顏色符串。多條曲線不指定顏色時,會自動選擇不同顏色。

線型參數:'‐' 實線,'‐‐' 破折線,'‐.' 點劃線,':' 虛線。

標記字元:'.' 點標記,',' 像素標記(極小點),'o' 實心圈標記,'v' 倒三角標記,'^' 上三角標記,'>' 右三角標記,'<' 左三角標記...等等。

如果我們要繪製坐標 (1, 3) 到 (8, 10) 的線,我們就需要傳遞兩個數組 [1, 8] 和 [3, 10] 給 plot 函數:

實例

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([1, 8])
ypoints = np.array([3, 10])

plt.plot(xpoints, ypoints)
plt.show()

以上代碼輸出結果為:

如果我們只想繪製兩個坐標點,而不是一條線,可以使用 o 參數,表示一個實心圈的標記:

繪製坐標 (1, 3) 和 (8, 10) 的兩個點

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([1, 8])
ypoints = np.array([3, 10])

plt.plot(xpoints, ypoints, 'o')
plt.show()

以上代碼輸出結果為:

我們也可以繪製任意數量的點,只需確保兩個軸上的點數相同即可。

繪製一條不規則線,坐標為 (1, 3) 、 (2, 8) 、(6, 1) 、(8, 10),對應的兩個數組為:[1, 2, 6, 8] 與 [3, 8, 1, 10]。

實例

import matplotlib.pyplot as plt
import numpy as np

xpoints = np.array([1, 2, 6, 8])
ypoints = np.array([3, 8, 1, 10])

plt.plot(xpoints, ypoints)
plt.show()

 

以上代碼輸出結果為:

如果我們不指定 x 軸上的點,則 x 會根據 y 的值來設置為 0, 1, 2, 3..N-1。

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([3, 10])

plt.plot(ypoints)
plt.show()

 

以上代碼輸出結果為:

從上圖可以看出 x 的值預設設置為 [0, 1]

再看一個有更多值的實例:

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([3, 8, 1, 10, 5, 7])i

plt.plot(ypoints)
plt.show()

 

以上代碼輸出結果為:

從上圖可以看出 x 的值預設設置為 [0, 1, 2, 3, 4, 5]

以下實例我們繪製一個正弦和餘弦圖,在 plt.plot() 參數中包含兩對 x,y 值,第一對是 x,y,這對應於正弦函數,第二對是 x,z,這對應於餘弦函數。

實例

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0,4*np.pi,0.1)   # start,stop,step
y = np.sin(x)
z = np.cos(x)
plt.plot(x,y,x,z)
plt.show()

 

以上代碼輸出結果為:

 

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([1,3,4,5,8,9,6,1,3,4,5,2,4])

plt.plot(ypoints, marker = 'o')
plt.show()

 

四、Matplotlib 繪圖標記

繪圖過程如果我們想要給坐標自定義一些不一樣的標記,就可以使用 plot() 方法的 marker 參數來定義。

以下實例定義了實心圓標記:

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([1,3,4,5,8,9,6,1,3,4,5,2,4])

plt.plot(ypoints, marker = 'o')
plt.show()

 

顯示結果如下:

marker 可以定義的符號如下:

標記符號描述
"." m00
"," m01 像素點
"o" m02 實心圓
"v" m03 下三角
"^" m04 上三角
"<" m05 左三角
">" m06 右三角
"1" m07 下三叉
"2" m08 上三叉
"3" m09 左三叉
"4" m10 右三叉
"8" m11 八角形
"s" m12 正方形
"p" m13 五邊形
"P" m23 加號(填充)
"*" m14 星號
"h" m15 六邊形 1
"H" m16 六邊形 2
"+" m17 加號
"x" m18 乘號 x
"X" m24 乘號 x (填充)
"D" m19 菱形
"d" m20 瘦菱形
"|" m21 豎線
"_" m22 橫線
0 (TICKLEFT) m25 左橫線
1 (TICKRIGHT) m26 右橫線
2 (TICKUP) m27 上豎線
3 (TICKDOWN) m28 下豎線
4 (CARETLEFT) m29 左箭頭
5 (CARETRIGHT) m30 右箭頭
6 (CARETUP) m31 上箭頭
7 (CARETDOWN) m32 下箭頭
8 (CARETLEFTBASE) m33 左箭頭 (中間點為基準)
9 (CARETRIGHTBASE) m34 右箭頭 (中間點為基準)
10 (CARETUPBASE) m35 上箭頭 (中間點為基準)
11 (CARETDOWNBASE) m36 下箭頭 (中間點為基準)
"None", " " or ""   沒有任何標記
'$...$' m37 渲染指定的字元。例如 "$f$" 以字母 f 為標記。

 

以下實例定義了 * 標記:

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([1,3,4,5,8,9,6,1,3,4,5,2,4])

plt.plot(ypoints, marker = '*')
plt.show()

 

顯示結果如下:

fmt 參數

fmt 參數定義了基本格式,如標記、線條樣式和顏色。

例如 o:r,o 表示實心圓標記,: 表示虛線,r 表示顏色為紅色。

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([6, 2, 13, 10])

plt.plot(ypoints, 'o:r')
plt.show()

 

顯示結果如下:

線類型:

線類型標記描述
'-' 實線
':' 虛線
'--' 破折線
'-.' 點劃線

顏色類型:

顏色標記描述
'r' 紅色
'g' 綠色
'b' 藍色
'c' 青色
'm' 品紅
'y' 黃色
'k' 黑色
'w' 白色

標記大小與顏色

我們可以自定義標記的大小與顏色,使用的參數分別是:

  • markersize,簡寫為 ms:定義標記的大小。
  • markerfacecolor,簡寫為 mfc:定義標記內部的顏色。
  • markeredgecolor,簡寫為 mec:定義標記邊框的顏色。

設置標記大小:

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([6, 2, 13, 10])

plt.plot(ypoints, marker = 'o', ms = 20)
plt.show()

 

顯示結果如下:

設置標記外邊框顏色:

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([6, 2, 13, 10])

plt.plot(ypoints, marker = 'o', ms = 20, mec = 'r')
plt.show()

 

顯示結果如下:

設置標記內部顏色:

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([6, 2, 13, 10])

plt.plot(ypoints, marker = 'o', ms = 20, mfc = 'r')
plt.show()

 

顯示結果如下:

自定義標記內部與邊框的顏色:

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([6, 2, 13, 10])
plt.plot(ypoints, marker = 'o', ms = 20, mec = '#4CAF50', mfc = '#4CAF50')
plt.show()

 

顯示結果如下:

 

五、Matplotlib 繪圖線

繪圖過程如果我們自定義線的樣式,包括線的類型、顏色和大小等。

線的類型

線的類型可以使用 linestyle 參數來定義,簡寫為 ls。

類型簡寫說明
'solid' (預設) '-' 實線
'dotted' ':' 點虛線
'dashed' '--' 破折線
'dashdot' '-.' 點劃線
'None' '' 或 ' ' 不畫線

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([6, 2, 13, 10])

plt.plot(ypoints, linestyle = 'dotted')
plt.show()

 

顯示結果如下:

線的顏色

線的顏色可以使用 color 參數來定義,簡寫為 c。

顏色類型:

顏色標記描述
'r' 紅色
'g' 綠色
'b' 藍色
'c' 青色
'm' 品紅
'y' 黃色
'k' 黑色
'w' 白色

當然也可以自定義顏色類型,例如:SeaGreen、#8FBC8F 等,完整樣式可以參考 HTML 顏色值

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([6, 2, 13, 10])

plt.plot(ypoints, color = 'r')
plt.show()

 

顯示結果如下:

線的寬度

線的寬度可以使用 linewidth 參數來定義,簡寫為 lw,值可以是浮點數,如:12.05.67 等。

實例

import matplotlib.pyplot as plt
import numpy as np

ypoints = np.array([6, 2, 13, 10])

plt.plot(ypoints, linewidth = '12.5')
plt.show()

 

顯示結果如下:

多條線

plot() 方法中可以包含多對 x,y 值來繪製多條線。

實例

import matplotlib.pyplot as plt
import numpy as np

y1 = np.array([3, 7, 5, 9])
y2 = np.array([6, 2, 13, 10])

plt.plot(y1)
plt.plot(y2)

plt.show()

顯示結果如下:

我們也可以自己設置 x 坐標等值:

六、Matplotlib 軸標簽和標題

我們可以使用 xlabel() 和 ylabel() 方法來設置 x 軸和 y 軸的標簽。

實例

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])
plt.plot(x, y)

plt.xlabel("x - label")
plt.ylabel("y - label")

plt.show()

 

顯示結果如下:

標題

我們可以使用 title() 方法來設置標題。

實例

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])
plt.plot(x, y)

plt.title("RUNOOB TEST TITLE")
plt.xlabel("x - label")
plt.ylabel("y - label")

plt.show()

 

顯示結果如下:

圖形中文顯示

Matplotlib 預設情況不支持中文,如有需要參考:https://www.runoob.com/matplotlib/matplotlib-label.html

 

七、Matplotlib 網格線

我們可以使用 pyplot 中的 grid() 方法來設置圖表中的網格線。

grid() 方法語法格式如下:

matplotlib.pyplot.grid(b=None, which='major', axis='both', )

參數說明:

  • b:可選,預設為 None,可以設置布爾值,true 為顯示網格線,false 為不顯示,如果設置 **kwargs 參數,則值為 true。
  • which:可選,可選值有 'major'、'minor' 和 'both',預設為 'major',表示應用更改的網格線。
  • axis:可選,設置顯示哪個方向的網格線,可以是取 'both'(預設),'x' 或 'y',分別表示兩個方向,x 軸方向或 y 軸方向。
  • **kwargs:可選,設置網格樣式,可以是 color='r', linestyle='-' 和 linewidth=2,分別表示網格線的顏色,樣式和寬度。

以下實例添加一個簡單的網格線,參數使用預設值:

實例

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])


plt.title("RUNOOB grid() Test")
plt.xlabel("x - label")
plt.ylabel("y - label")

plt.plot(x, y)

plt.grid()

plt.show()

 

顯示結果如下:

以下實例添加一個簡單的網格線,axis 參數使用 x,設置 x 軸方向顯示網格線:

實例

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])


plt.title("RUNOOB grid() Test")
plt.xlabel("x - label")
plt.ylabel("y - label")

plt.plot(x, y)

plt.grid(axis='x') # 設置 y 就在軸方向顯示網格線

plt.show()

 

顯示結果如下:

以下實例添加一個簡單的網格線,並設置網格線的樣式,格式如下:

grid(color = 'color', linestyle = 'linestyle', linewidth = number)

參數說明:

color:'b' 藍色,'m' 洋紅色,'g' 綠色,'y' 黃色,'r' 紅色,'k' 黑色,'w' 白色,'c' 青綠色,'#008000' RGB 顏色符串。

linestyle:'‐' 實線,'‐‐' 破折線,'‐.' 點劃線,':' 虛線。

linewidth:設置線的寬度,可以設置一個數字。

實例

import numpy as np
import matplotlib.pyplot as plt

x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])


plt.title("RUNOOB grid() Test")
plt.xlabel("x - label")
plt.ylabel("y - label")

plt.plot(x, y)

plt.grid(color = 'r', linestyle = '--', linewidth = 0.5)

plt.show()

 

顯示結果如下:

八、Matplotlib 繪製多圖

我們可以使用 pyplot 中的 subplot() 和 subplots() 方法來繪製多個子圖。

subplot() 方法在繪圖時需要指定位置,subplots() 方法可以一次生成多個,在調用時只需要調用生成對象的 ax 即可。

subplot

subplot(nrows, ncols, index, **kwargs)
subplot(pos, **kwargs)
subplot(**kwargs)
subplot(ax)

以上函數將整個繪圖區域分成 nrows 行和 ncols 列,然後從左到右,從上到下的順序對每個子區域進行編號 1...N ,左上的子區域的編號為 1、右下的區域編號為 N,編號可以通過參數 index 來設置。

設置 numRows = 1,numCols = 2,就是將圖表繪製成 1x2 的圖片區域, 對應的坐標為:

(1, 1), (1, 2)

plotNum = 1, 表示的坐標為(1, 1), 即第一行第一列的子圖。

plotNum = 2, 表示的坐標為(1, 2), 即第一行第二列的子圖。

 

實例

import matplotlib.pyplot as plt
import numpy as np

#plot 1:
xpoints = np.array([0, 6])
ypoints = np.array([0, 100])

plt.subplot(1, 2, 1)
plt.plot(xpoints,ypoints)
plt.title("plot 1")

#plot 2:
x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])

plt.subplot(1, 2, 2)
plt.plot(x,y)
plt.title("plot 2")

plt.suptitle("RUNOOB subplot Test")
plt.show()

 

顯示結果如下:

設置 numRows = 2,numCols = 2,就是將圖表繪製成 2x2 的圖片區域, 對應的坐標為:

(1, 1), (1, 2)
(2, 1), (2, 2)

plotNum = 1, 表示的坐標為(1, 1), 即第一行第一列的子圖。

plotNum = 2, 表示的坐標為(1, 2), 即第一行第二列的子圖。

plotNum = 3, 表示的坐標為(2, 1), 即第二行第一列的子圖。

plotNum = 4, 表示的坐標為(2, 2), 即第二行第二列的子圖。

實例

import matplotlib.pyplot as plt
import numpy as np

#plot 1:
x = np.array([0, 6])
y = np.array([0, 100])

plt.subplot(2, 2, 1)
plt.plot(x,y)
plt.title("plot 1")

#plot 2:
x = np.array([1, 2, 3, 4])
y = np.array([1, 4, 9, 16])

plt.subplot(2, 2, 2)
plt.plot(x,y)
plt.title("plot 2")

#plot 3:
x = np.array([1, 2, 3, 4])
y = np.array([3, 5, 7, 9])

plt.subplot(2, 2, 3)
plt.plot(x,y)
plt.title("plot 3")

#plot 4:
x = np.array([1, 2, 3, 4])
y = np.array([4, 5, 6, 7])

plt.subplot(2, 2, 4)
plt.plot(x,y)
plt.title("plot 4")

plt.suptitle("RUNOOB subplot Test")
plt.show()

 

顯示結果如下:

 

Matplotlib 散點圖

我們可以使用 pyplot 中的 scatter() 方法來繪製散點圖。

scatter() 方法語法格式如下:

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, *, edgecolors=None, plotnonfinite=False, data=None, **kwargs)

參數說明:

x,y:長度相同的數組,也就是我們即將繪製散點圖的數據點,輸入數據。

s:點的大小,預設 20,也可以是個數組,數組每個參數為對應點的大小。

c:點的顏色,預設藍色 'b',也可以是個 RGB 或 RGBA 二維行數組。

marker:點的樣式,預設小圓圈 'o'。

cmap:Colormap,預設 None,標量或者是一個 colormap 的名字,只有 c 是一個浮點數數組的時才使用。如果沒有申明就是 image.cmap。

norm:Normalize,預設 None,數據亮度在 0-1 之間,只有 c 是一個浮點數的數組的時才使用。

vmin,vmax::亮度設置,在 norm 參數存在時會忽略。

alpha::透明度設置,0-1 之間,預設 None,即不透明。

linewidths::標記點的長度。

edgecolors::顏色或顏色序列,預設為 'face',可選值有 'face', 'none', None。

plotnonfinite::布爾值,設置是否使用非限定的 c ( inf, -inf 或 nan) 繪製點。

**kwargs::其他參數。

以下實例 scatter() 函數接收長度相同的數組參數,一個用於 x 軸的值,另一個用於 y 軸上的值:

實例

import matplotlib.pyplot as plt
import numpy as np

x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([1, 4, 9, 16, 7, 11, 23, 18])

plt.scatter(x, y)
plt.show()

  

顯示結果如下:

 

使用隨機數來設置散點圖:

實例

import numpy as np
import matplotlib.pyplot as plt

# 隨機數生成器的種子
np.random.seed(19680801)


N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = (30 * np.random.rand(N))**2  # 0 to 15 point radii

plt.scatter(x, y, s=area, c=colors, alpha=0.5) # 設置顏色及透明度

plt.title("RUNOOB Scatter Test") # 設置標題

plt.show()

 

顯示結果如下:

顏色條 Colormap

Matplotlib 模塊提供了很多可用的顏色條。

顏色條就像一個顏色列表,其中每種顏色都有一個範圍從 0 到 100 的值。

下麵是一個顏色條的例子:

設置顏色條需要使用 cmap 參數,預設值為 'viridis',之後顏色值設置為 0 到 100 的數組。

實例

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])

plt.scatter(x, y, c=colors, cmap='viridis')

plt.show()

 

顯示結果如下:

如果要顯示顏色條,需要使用 plt.colorbar() 方法:

實例

import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])

plt.scatter(x, y, c=colors, cmap='viridis')

plt.colorbar()

plt.show()

 

顯示結果如下:

 

九、Matplotlib 柱形圖

我們可以使用 pyplot 中的 bar() 方法來繪製柱形圖。

bar() 方法語法格式如下:

matplotlib.pyplot.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs)

參數說明:

x:浮點型數組,柱形圖的 x 軸數據。

height:浮點型數組,柱形圖的高度。

width:浮點型數組,柱形圖的寬度。

bottom:浮點型數組,底座的 y 坐標,預設 0。

align:柱形圖與 x 坐標的對齊方式,'center' 以 x 位置為中心,這是預設值。 'edge':將柱形圖的左邊緣與 x 位置對齊。要對齊右邊緣的條形,可以傳遞負數的寬度值及 align='edge'。

**kwargs::其他參數。

以下實例我們簡單實用 bar() 來創建一個柱形圖:

實例

import matplotlib.pyplot as plt
import numpy as np

x = np.array(["Runoob-1", "Runoob-2", "Runoob-3", "C-RUNOOB"])
y = np.array([12, 22, 6, 18])

plt.bar(x,y)
plt.show()

 

顯示結果如下:

垂直方向的柱形圖可以使用 barh() 方法來設置:

實例

import matplotlib.pyplot as plt
import numpy as np

x = np.array(["Runoob-1", "Runoob-2", "Runoob-3", "C-RUNOOB"])
y = np.array([12, 22, 6, 18])

plt.barh(x,y)
plt.show()

 

顯示結果如下:

 

自定義各個柱形的顏色:

實例

import matplotlib.pyplot as plt
import numpy as np

x = np.array(["Runoob-1", "Runoob-2", "Runoob-3", "C-RUNOOB"])
y = np.array([12, 22, 6, 18])

plt.bar(x, y,  color = ["#4CAF50","red","hotpink","#556B2F"])
plt.show()

 

顯示結果如下:

設置柱形圖寬度,bar() 方法使用 width 設置,barh() 方法使用 height 設置 height

實例

import
              
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • HarmonyOS Connect智能硬體開放生態即將步入富設備產業化時代!為了讓廣大開發者能搶先體驗鴻蒙智聯富設備開發,本期我們將為大家帶來七款支持富設備開發的開發板。 ...
  • 字元串是用引號包裹的,表示語言文字。 用雙引號包裹的都是字元串 註意:變數不能包裹在雙引號里 輸出 布爾類型 true和false 註意都是小寫 ...
  • 認識js 在谷歌瀏覽器的控制臺中右鍵單擊空白處,選擇檢查可以打開控制台 查看console.log輸出的內容。 JS的註釋 是”//”或者”/* */”,前者是行註釋,後者是塊註釋 1變數 js的變數必須申明在用,聲明後賦值,變數才可使用,使用過程中可以改變類型。 變數的命名規則: 變數名只能由字母 ...
  • 幾天的內容不是很多,因為我們腳手架的學習告一段落了,也是為了跟明天開始的內容有一個區分。 明天將會有一個非常重要的內容來了,各位,vue中的ajax他來了,這個絕對是重量級,有點興奮! 十一.TODOList編輯 新增一個編輯功能,要完成的邏輯就是,當我們一點擊編輯按鈕,對象會新增一個屬性edit為 ...
  • # JavaScript經典案例練習 P1:支付10秒倒計時 效果: 功能: 點擊立即支付彈出確認款 確認付款後跳轉到支付成功頁面並開始計時 計時結束或者點擊立即返回按鈕返迴首頁 知識點: window.confirm() 用於顯示一個帶有指定消息和確認及取消按鈕的對話框,如果訪問者點擊‘確認’, ...
  • ${}字元串可以用於字元串拼接,一般用於模糊查詢中(因為有sql註入的風險,很少用) ...
  • 在開發過程中,不知道有沒有這樣的經歷,項目實際讀取的配置信息有時候總是與預期不符,今天就來研究下 SpringBoot 讀取配置文件順序。 一、SpringBoot 配置文件載入優先順序 SpringBoot官方文檔說明瞭載入的順序如下,越靠前優先順序越高。 Spring Boot uses a ver ...
  • 前言 嗨嘍!大家好呀 第三方模塊: requests >>> pip install requests 模塊安裝問題: 如果安裝python第三方模塊: win + R 輸入 cmd 點擊確定, 輸入安裝命令 pip install 模塊名 (pip install requests) 回車 在py ...
一周排行
    -Advertisement-
    Play Games
  • Github / Gitee QQ群(1群) : 813100564 / QQ群(2群) : 579033769 視頻教學 介紹 MiniWord .NET Word模板引擎,藉由Word模板和數據簡單、快速生成文件。 Getting Started 安裝 nuget link : https:// ...
  • Array.Sort Array類中相當實用的我認為是Sort方法,相比起冗長的冒泡排序,它的出現讓排序更加的簡化 結果如下: 還可以聲明一個靜態方法用來專門調用指定數組排序,從名為 array 的一維數組中 a 索引處開始,到 b 元素 從小到大排序。 註意: a + b 不能大於 array 的 ...
  • 前言 在上一篇文章CLR類型系統概述里提到,當運行時掛起時, 垃圾回收會執行堆棧遍歷器(stack walker)去拿到堆棧上值類型的大小和堆棧根。這裡我們來翻譯BotR里一篇專門介紹Stackwalking的文章,希望能加深理解。 順便說一句,StackWalker在中文里似乎還沒有統一的翻譯,J ...
  • 使用過 nginx 的小伙伴應該都知道,這個中間件是可以設置跨域的,作為今天的主角,同樣的 反向代理中間件的 YARP 毫無意外也支持了跨域請求設置。 有些小伙伴可能會問了,怎樣才算是跨域呢? 在 HTML 中,一些標簽,例如 img、a 等,還有我們非常熟悉的 Ajax,都是可以指向非本站的資源的 ...
  • 什麼是Git Git 是一個開源的分散式版本控制系統,用於敏捷高效地處理任何或小或大的項目。 Git 是 Linus Torvalds 為了幫助管理 Linux 內核開發而開發的一個開放源碼的版本控制軟體。 Git 與常用的版本控制工具 CVS, Subversion 等不同,它採用了分散式版本庫的 ...
  • 首先CR3是什麼,CR3是一個寄存器,該寄存器內保存有頁目錄表物理地址(PDBR地址),其實CR3內部存放的就是頁目錄表的記憶體基地址,運用CR3切換可實現對特定進程記憶體地址的強制讀寫操作,此類讀寫屬於有痕讀寫,多數驅動保護都會將這個地址改為無效,此時CR3讀寫就失效了,當然如果能找到CR3的正確地址... ...
  • 說明 onlyoffice為一款開源的office線上編輯組件,提供word/excel/ppt編輯保存操作 以下操作均基於centos8系統,officeonly鏡像版本7.1.2.23 鏡像下載地址:https://yunpan.360.cn/surl_y87CKKcPdY4 (提取碼:1f92 ...
  • 二叉樹查找指定的節點 前序查找的思路 1.先判斷當前節點的no是否等於要查找的 2.如果是相等,則返回當前節點 3.如果不等,則判斷當前節點的左子節點是否為空,如果不為空,則遞歸前序查找 4.如果左遞歸前序查找,找到節點,則返回,否繼續判斷,當前的節點的右子節點是否為空,如果不為空,則繼續向右遞歸前 ...
  • ##Invalid bound statement (not found)出現原因和解決方法 ###前言: 想必各位小伙伴在碼路上經常會碰到奇奇怪怪的事情,比如出現Invalid bound statement (not found),那今天我就來分析以下出現此問題的原因。 其實出現這個問題實質就是 ...
  • ###一、背景知識 爬蟲的本質就是一個socket客戶端與服務端的通信過程,如果我們有多個url待爬取,只用一個線程且採用串列的方式執行,那隻能等待爬取一個結束後才能繼續下一個,效率會非常低。 需要強調的是:對於單線程下串列N個任務,並不完全等同於低效,如果這N個任務都是純計算的任務,那麼該線程對c ...