我想在python中绘制散点图,以便每个点(x,y)获得相同颜色的不同阴影。我假设数据点在data0x和data0y中都是有序的(根据我的算法选择它们的方式)所以我希望从头开始的那些数据点比从最后的那些更暗。
ax.scatter(data0x, data0y,c=, marker=markers[0])
如何做到这一点?
答案 0 :(得分:3)
您想使用颜色地图(gallery)。你需要在[0, 1]
中为每个点分配(根据你想要的方案)浮动,比如说
c = arange(len(data0x)) / len(data0x)
然后
ax.scatter(data0x, data0, c=c, cmap='blues',...)
答案 1 :(得分: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()