2013-05-28 312 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',...) 
相关问题