簡體   English   中英

蟒蛇。 散點圖的顏色編碼元素

[英]Python. Color coding elements for scatter plot

我已經為交通流進行了仿真,並且我需要對我使用散點圖的系統進行可視化。 我正在尋找一種為數組中的每個元素賦予不同顏色但在程序循環時保持不變的顏色的方法

您可以使用設置的散點圖點顏色c=...在調用scatter

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [10, 11, 12, 11, 9]
z = [2, 4, 4, 1, 1]

fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(x, y, c=z, linewidth=0)

plt.show()

要給每個點自己的顏色,只需對顏色使用range(len(x))

x = [1, 2, 3, 4, 5]
y = [10, 11, 12, 11, 9]

fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(x, y, c=range(len(x)), linewidth=0)

plt.show()

不同顏色的散點圖

查看plt.scatter文檔,發現c參數可用於設置散點的顏色。

  c:顏色,序列或顏色序列,可選,默認值:“ b”  \n     c可以是單個顏色格式字符串,也可以是顏色規范序列  \n     長度為N的序列,或使用以下方式映射到顏色的N個數字序列  \n     通過kwargs指定的cmap和規范(請參見下文)。 

因此,為了獲得每個散點的恆定顏色,有兩種選擇:

指定絕對顏色

plt.scatter(x,y, c=["blue", "red", "green"])

指定要根據規范進行顏色映射的值

plt.scatter(x,y, c=[3.4, 5.6, 7.9, 1.0], cmap="jet", vmin=0, vmax=10)

或使用Normalize實例

norm = matplotlib.colors.Normalize(vmin=0, vmax=10)
plt.scatter(x,y, c=[3.4, 5.6, 7.9, 1.0], cmap="jet", norm=norm)

如果不進行歸一化,則將根據給c的數組中的最小值和最大值來分配顏色圖中的顏色。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM