亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

搜索
Python 教程 / 散點圖

散點圖

創(chuàng)建散點圖

使用 Pyplot,您可以使用 scatter() 函數(shù)來繪制散點圖。

scatter() 函數(shù)為每個觀測值繪制一個點。它需要兩個長度相同的數(shù)組,一個用于 x 軸的值,另一個用于 y 軸的值:

實例

一個簡單的散點圖:

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

plt.scatter(x, y)
plt.show()
運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

結果:

Matplotlib 散點圖

上例中的觀測值是 13 輛汽車經(jīng)過的結果。

X 軸顯示了汽車的車齡。

Y 軸顯示了汽車經(jīng)過時的速度。

這些觀測值之間是否存在關系?

看起來車越新,開得越快,但這可能只是巧合,畢竟我們只記錄了 13 輛汽車。

比較圖表

在上面的例子中,速度和年齡之間似乎存在某種關系,但如果我們再將另一天的觀測值也繪制出來會如何呢?散點圖會告訴我們其他信息嗎?

實例

在同一張圖上繪制兩個圖表:

import matplotlib.pyplot as plt
import numpy as np

# 第一天,13 輛汽車的車齡和速度:
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])
plt.scatter(x, y)

# 第二天,15 輛汽車的車齡和速度:
x = np.array([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12])
y = np.array([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85])
plt.scatter(x, y)

plt.show()
運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

結果:

Matplotlib 散點圖

注意:兩個圖表使用兩種不同的顏色繪制,默認是藍色和橙色,稍后在本章中您將學習如何更改顏色。

通過比較這兩個圖表,我認為可以安全地說它們都給出了相同的結論:汽車越新,開得越快。

顏色

您可以使用 colorc 參數(shù)為每個散點圖設置自己的顏色:

實例

設置標記點的顏色:

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])
plt.scatter(x, y, color = 'hotpink')

x = np.array([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12])
y = np.array([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85])
plt.scatter(x, y, color = '#88c999')

plt.show()
運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

結果:

Matplotlib 散點圖

為每個點著色

您甚至可以使用顏色數(shù)組作為 c 參數(shù)的值來為每個點設置特定顏色:

注意:您不能為此使用 color 參數(shù),只能使用 c 參數(shù)。

實例

設置標記點的顏色:

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(["red","green","blue","yellow","pink","black","orange","purple","beige","brown","gray","cyan","magenta"])

plt.scatter(x, y, c=colors)

plt.show()
運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

結果:

Matplotlib 散點圖

彩色映射

Matplotlib 模塊提供了許多可用的彩色映射。

彩色映射就像顏色列表,其中每種顏色都有一個從 0 到 100 的值。

以下是一個彩色映射的例子:

ColorMap

這個彩色映射稱為 'viridis',如您所見,它從 0(紫色)開始,一直到 100(黃色)。

如何使用彩色映射

您可以使用關鍵字參數(shù) cmap 和彩色映射的值來指定彩色映射,在這種情況下,'viridis' 是 Matplotlib 中可用的內置彩色映射之一。

此外,您必須創(chuàng)建一個數(shù)組,其中包含值(從 0 到 100),每個散點圖中的點一個值:

實例

創(chuàng)建顏色數(shù)組,并在散點圖中指定彩色映射:

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()
運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

結果:

Matplotlib 散點圖

您可以通過包含 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 散點圖

可用的彩色映射

您可以選擇任意內置彩色映射:

名稱 試一試 反轉 試一試
Accent 試一試 Accent_r 試一試
Blues 試一試 Blues_r 試一試
BrBG 試一試 BrBG_r 試一試
BuGn 試一試 BuGn_r 試一試
BuPu 試一試 BuPu_r 試一試
CMRmap 試一試 CMRmap_r 試一試
Dark2 試一試 Dark2_r 試一試
GnBu 試一試 GnBu_r 試一試
Greens 試一試 Greens_r 試一試
Greys 試一試 Greys_r 試一試
OrRd 試一試 OrRd_r 試一試
Oranges 試一試 Oranges_r 試一試
PRGn 試一試 PRGn_r 試一試
Paired 試一試 Paired_r 試一試
Pastel1 試一試 Pastel1_r 試一試
Pastel2 試一試 Pastel2_r 試一試
PiYG 試一試 PiYG_r 試一試
PuBu 試一試 PuBu_r 試一試
PuBuGn 試一試 PuBuGn_r 試一試
PuOr 試一試 PuOr_r 試一試
PuRd 試一試 PuRd_r 試一試
Purples 試一試 Purples_r 試一試
RdBu 試一試 RdBu_r 試一試
RdGy 試一試 RdGy_r 試一試
RdPu 試一試 RdPu_r 試一試
RdYlBu 試一試 RdYlBu_r 試一試
RdYlGn 試一試 RdYlGn_r 試一試
Reds 試一試 Reds_r 試一試
Set1 試一試 Set1_r 試一試
Set2 試一試 Set2_r 試一試
Set3 試一試 Set3_r 試一試
Spectral 試一試 Spectral_r 試一試
Wistia 試一試 Wistia_r 試一試
YlGn 試一試 YlGn_r 試一試
YlGnBu 試一試 YlGnBu_r 試一試
YlOrBr 試一試 YlOrBr_r 試一試
YlOrRd 試一試 YlOrRd_r 試一試
afmhot 試一試 afmhot_r 試一試
autumn 試一試 autumn_r 試一試
binary 試一試 binary_r 試一試
bone 試一試 bone_r 試一試
brg 試一試 brg_r 試一試
bwr 試一試 bwr_r 試一試
cividis 試一試 cividis_r 試一試
cool 試一試 cool_r 試一試
coolwarm 試一試 coolwarm_r 試一試
copper 試一試 copper_r 試一試
cubehelix 試一試 cubehelix_r 試一試
flag 試一試 flag_r 試一試
gist_earth 試一試 gist_earth_r 試一試
gist_gray 試一試 gist_gray_r 試一試
gist_heat 試一試 gist_heat_r 試一試
gist_ncar 試一試 gist_ncar_r 試一試
gist_rainbow 試一試 gist_rainbow_r 試一試
gist_stern 試一試 gist_stern_r 試一試
gist_yarg 試一試 gist_yarg_r 試一試
gnuplot 試一試 gnuplot_r 試一試
gnuplot2 試一試 gnuplot2_r 試一試
gray 試一試 gray_r 試一試
hot 試一試 hot_r 試一試
hsv 試一試 hsv_r 試一試
inferno 試一試 inferno_r 試一試
jet 試一試 jet_r 試一試
magma 試一試 magma_r 試一試
nipy_spectral 試一試 nipy_spectral_r 試一試
ocean 試一試 ocean_r 試一試
pink 試一試 pink_r 試一試
plasma 試一試 plasma_r 試一試
prism 試一試 prism_r 試一試
rainbow 試一試 rainbow_r 試一試
seismic 試一試 seismic_r 試一試
spring 試一試 spring_r 試一試
summer 試一試 summer_r 試一試
tab10 試一試 tab10_r 試一試
tab20 試一試 tab20_r 試一試
tab20b 試一試 tab20b_r 試一試
tab20c 試一試 tab20c_r 試一試
terrain 試一試 terrain_r 試一試
twilight 試一試 twilight_r 試一試
twilight_shifted 試一試 twilight_shifted_r 試一試
viridis 試一試 viridis_r 試一試
winter 試一試 winter_r 試一試

大小

您可以使用 s 參數(shù)來改變點的大小。

就像顏色一樣,請確保 sizes 數(shù)組的長度與 x 軸和 y 軸的數(shù)組長度相同:

實例

為標記設置您自己的大?。?/p>

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])
sizes = np.array([20,50,100,200,500,1000,60,90,10,300,600,800,75])

plt.scatter(x, y, s=sizes)

plt.show()
運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

結果:

Matplotlib 散點圖

透明度

您可以使用 alpha 參數(shù)來調整點的透明度。

就像顏色一樣,請確保 sizes 數(shù)組的長度與 x 軸和 y 軸的數(shù)組長度相同:

實例

為標記設置您自己的大?。?/p>

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])
sizes = np.array([20,50,100,200,500,1000,60,90,10,300,600,800,75])

plt.scatter(x, y, s=sizes, alpha=0.5)

plt.show()
運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

結果:

Matplotlib 散點圖

結合顏色、大小和透明度

您可以將色彩映射與不同大小的點結合起來。如果點是透明的,這將得到最好的可視化效果:

實例

為 x 點、y 點、顏色和大小創(chuàng)建包含 100 個值的隨機數(shù)組:

import matplotlib.pyplot as plt
import numpy as np

x = np.random.randint(100, size=(100))
y = np.random.randint(100, size=(100))
colors = np.random.randint(100, size=(100))
sizes = 10 * np.random.randint(100, size=(100))

plt.scatter(x, y, c=colors, s=sizes, alpha=0.5, cmap='nipy_spectral')

plt.colorbar()

plt.show()
運行實例 ?

點擊 "運行實例" 按鈕查看在線實例

結果:

Matplotlib 散點圖