在繪圖的時候,關於顏色的參數總是很模糊,可以使用"c"也可以使用“cmap”但是不知道區別在哪裏,本文除了介紹散點圖的參數外,還會詳細的介紹一下“顏色”參數相關內容
散點圖:plt.scatter()
- 常用參數說明:
- X, Y :散點的位置
- alpha:透明度,取值[0,1]且取0時透明
- s:散點大小
- c/color:散點顏色,
- cmap:設置散點顏色
- marker:散點形狀(詳見plt.plot繪製)
- linewidths:散點邊框寬度
- edgecolors:散點表框顏色
其中,每個散點其實是有邊框的,只是顏色和散點顏色一致,將邊框寬度加大就能看見~
- RGB 三元組是什麼
RGB 三元組是包含三個元素的行向量,其元素分別指定顏色中紅、綠、藍分量的強度。強度值必須位於 [0,1] 範圍內;而函數中有關顏色的參數,實際上是傳入了一個“由 RGB 三元組組成的三列矩陣”。
(1)cmap參數的值:默認 ‘default’ ,即將目標對象的顏色圖設置爲默認顏色圖。除此之外,還有很多“顏色圖”可以選擇:
Accent, Accent_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, nipy_spectral, nipy_spectral_r, ocean, ocean_r, pink, pink_r, spring, spring_r, summer, summer_r, tab10, winter, winter_r…
每種顏色圖實際上類似於一個色卡,舉例如下:
當我們輸入"cmap"參數時,會將顏色的範圍定義在當前顏色卡上
(2)c參數的值:在介紹“折線圖”繪製的時候,已經將列表呈現出來了,但是實際上,每種顏色是對應了一個RGB向量的,而參數"c"只是將常見顏色的 RGB 三元組值列出來
- 實例
import numpy as np
import matplotlib.pyplot as plt
x = [0.5]
y = [0.5]
x2 = np.random.rand(100) # 取值在(0,1)之間的隨機數,100個
y2 = np.random.rand(100)
area = np.random.rand(100) * 1000
# 輸入c和edgecolors參數時,可以縮寫顏色名稱,也可以不縮寫
plt.scatter(x, y,s=1000,marker='v', c='black',edgecolors='r',linewidths=2)
# 生成一個大小隨機,顏色隨機,色卡爲“rainbow”的散點圖
plt.scatter(x2, y2, s=area, c=area,cmap='rainbow', alpha=0.7)
plt.show()