国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 詳解plt.colorbar

詳解plt.colorbar

來源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-23 15:46:27 1700725587

一、基本介紹

plt.colorbar是matplotlib庫中用來添加顏色條的函數(shù)。顏色條可以為圖形提供重要的信息,例如數(shù)據(jù)值對應(yīng)的顏色等級。在其最簡單的用法中,plt.colorbar函數(shù)將當(dāng)前活動(dòng)圖形(gca)中的圖像作為輸入,并添加一個(gè)垂直顏色條(色卡)到其右側(cè)。


import numpy as np
import matplotlib.pyplot as plt

# 生成數(shù)據(jù)并畫出散點(diǎn)圖
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
sizes = np.pi * (15*np.random.rand(N))**2
plt.scatter(x, y, s=sizes, c=colors)
plt.colorbar()

plt.show()

二、顏色映射

plt.colorbar的主要功能是將特定范圍的數(shù)據(jù)值與顏色進(jìn)行匹配,并創(chuàng)建相應(yīng)的顏色條。這是通過指定cmap參數(shù)來實(shí)現(xiàn)的,該參數(shù)指定了要使用哪個(gè)顏色映射。matplotlib提供了幾種內(nèi)置的顏色映射,其中包括:

viridis plasma inferno magma hot cool spring summer autumn winter

也可以創(chuàng)建自定義顏色映射,具體見下方代碼。


import numpy as np
import matplotlib.pyplot as plt
from matplotlib.colors import LinearSegmentedColormap

# 自定義顏色映射
colors = [(0, 0, 1), (0, 1, 0), (1, 0, 0)]
cmap = LinearSegmentedColormap.from_list('my_cmap', colors, N=3)

# 生成數(shù)據(jù)并畫出散點(diǎn)圖
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
z = np.random.randint(0, 3, N)
plt.scatter(x, y, c=z, cmap=cmap)
plt.colorbar(ticks=[0, 1, 2], label='Class')

plt.show()

三、顏色條格式化

為了讓顏色條上的標(biāo)簽更為清晰易讀,可以通過設(shè)置plt.colorbar的標(biāo)簽參數(shù)label和刻度參數(shù)ticks等進(jìn)行調(diào)整。此外,您還可以使用format參數(shù)來格式化標(biāo)簽。


import numpy as np
import matplotlib.pyplot as plt

# 生成數(shù)據(jù)并畫出散點(diǎn)圖
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
z = np.random.randint(0, 100, N)
plt.scatter(x, y, c=z, cmap='jet')
plt.colorbar(format='%d%%', label='Percentage')

plt.show()

四、水平顏色條

plt.colorbar默認(rèn)會創(chuàng)建一個(gè)垂直顏色條,但是有時(shí)候需要一個(gè)水平顏色條。您只需要將方向參數(shù)orientation設(shè)置為'horizontal'即可。


import numpy as np
import matplotlib.pyplot as plt

# 生成數(shù)據(jù)并畫出散點(diǎn)圖
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
sizes = np.pi * (15*np.random.rand(N))**2
plt.scatter(x, y, s=sizes, c=colors)
plt.colorbar(orientation='horizontal')

plt.show()

五、多圖形顏色條

如果您在單個(gè)圖形中繪制了多個(gè)數(shù)據(jù)集,每個(gè)數(shù)據(jù)集都需要用不同的顏色映射。此時(shí),您可以為每個(gè)子圖創(chuàng)建各自的顏色條。示例代碼如下:


import numpy as np
import matplotlib.pyplot as plt

# 生成數(shù)據(jù)并畫出兩個(gè)子圖形
N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors1 = np.random.rand(N)
sizes = np.pi * (15*np.random.rand(N))**2

fig, axs = plt.subplots(1, 2)

# 繪制第一個(gè)子圖形并添加顏色條
axs[0].scatter(x, y, s=sizes, c=colors1, cmap='viridis')
cb1 = plt.colorbar(ax=axs[0], label='First')

# 繪制第二個(gè)子圖形并添加顏色條
colors2 = np.random.rand(N)
axs[1].scatter(x, y, s=sizes, c=colors2, cmap='plasma')
cb2 = plt.colorbar(ax=axs[1], label='Second')

plt.show()

tags: plt.colorbar
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT