2013-05-28 310 views
2

我想要繪製在python的散點圖讓每一個點(X,Y)得到相同顏色的不同陰影。我假設的數據點在兩個data0x和data0y排序(按照它們是如何通過我的算法採摘),所以我希望那些從一開始就比從年底的那些暗。如何繪製不同顏色的點?

ax.scatter(data0x, data0y,c=, marker=markers[0]) 

這怎麼辦?

回答

3

有幾個選項。您可以使用顏色映射(如tcaswell建議),或者也可以直接指定顏色。

總的來說,我發現,當我想用​​特定的顏色,它更容易指定這些直接而不是覺得顏色,然後弄清楚如何從顏色表得到它。如果這是你想要做的,這裏是一個直接在散點圖中指定顏色的例子。

import numpy as np 
import matplotlib.pyplot as plt 

x = np.random.rand(50) 
y = np.random.rand(50) 

c = np.array([1, 1, 0]) # base color, set for each point (here, yellow) 
z = x/max(x) # the darkness for each point (here, scale along x-axis) 

plt.scatter(x,y, s=300, c=c[np.newaxis,:]*z[:, np.newaxis], marker=">") 
plt.show() 

enter image description here

3

您想使用彩色地圖(gallery)。您需要在[0, 1]分配(由你什麼都想要方案)一浮到每個點,說

c = arange(len(data0x))/len(data0x) 

然後

ax.scatter(data0x, data0, c=c, cmap='blues',...) 
相關問題