1
我具有以下格式的散佈圖的CMAP:創建其中顏色被鏈接到另一可變
該圖上的每個點代表與已知爲恆星形成率的性質的星系。我希望規定一個依賴於這個變量的彩色圖,即對於較高的SFR,顏色變得更藍,對於較低的SFR,顏色變得更紅。 (忽略此練習的分檔直方圖部分。)
我會如何實現這一目標?我需要創建和修改自己的cmap嗎?
我具有以下格式的散佈圖的CMAP:創建其中顏色被鏈接到另一可變
該圖上的每個點代表與已知爲恆星形成率的性質的星系。我希望規定一個依賴於這個變量的彩色圖,即對於較高的SFR,顏色變得更藍,對於較低的SFR,顏色變得更紅。 (忽略此練習的分檔直方圖部分。)
我會如何實現這一目標?我需要創建和修改自己的cmap嗎?
你只需要一個帶有x和y座標的點的散點圖和一個表示第三個變量的顏色?
這就是分散是,只需使用:
import matplotlib.pyplot as plt
plt.scatter(x, y, c=z, cmap='jet')
你可以給它的任何其他顏色表,所有的可能性都在這裏顯示: http://matplotlib.org/examples/color/colormaps_reference.html
這裏的一個小例子:
import matplotlib.pyplot as plt
import numpy as np
x = numpy.random.normal(0, 2, 100)
y = numpy.random.normal(0, 2, 100)
r = np.sqrt(x**2 + y**2)
plt.scatter(x, y, c=r, cmap='jet')
這會給你100個二維高斯分佈點,其顏色取決於距離(0,0)
嗨馬克斯,非常感謝您的回答。我有一個問題,那麼cmap是否表示第三個變量的增量變化,即z = 3和z = 3.01 ...它們是否具有相同的粗略顏色?但是z = 3和z = 4是否明顯不同(或者是陰影還是完全不同的顏色?) –
ValueError:顏色數組必須是二維的 –
默認情況下,顏色條從min(z) MAX(Z)。看看彩條並嘗試一些簡單的例子,比如我在文章中編輯的例子。 用你可以設置的vmin和vmax參數,這些值在顏色條的頂部和底部。 對於錯誤,您應該出示代碼。 – MaxNoe