[英]Matplotlib scatterplot with different colors from red to blue
我有一個數組 (x,y,z),其中 x=1,2,...,100, y=1,2,...,100 和 z 具有來自 [0,1] 的 100 個值。 現在我需要將點 (x,y) 着色為深紅色,z 值接近 0,深藍色,z 值接近 1。在兩者之間,它應該從深紅色變為淺紅色,然后變為白色到淺藍色,然后到深藍色。 有人可以給我一些建議嗎?
z 值接近 0 時為深紅色,z 值接近 1 時為深藍色。 在兩者之間,它應該從深紅色變為淺紅色,然后變為白色,然后變為淺藍色,然后變為深藍色
查看可用顏色圖列表,這似乎是RdBu
。
因此,這是一個使用RdBu
的示例散點圖, RdBu
包含 100 個隨機 x、y 和 z 值,其中 x 和 y 的范圍為 1 到 100,z 的范圍為 0 到 1:
import matplotlib.pyplot as plt
import numpy as np
n = 100
x = np.random.randint(1, 100 + 1, n)
y = np.random.randint(1, 100 + 1, n)
z = np.random.random(n)
plt.scatter(x, y, c=z, cmap="RdBu")
plt.show()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.