2

我想在 python 中绘制一个散点图,以便每个点 (x,y) 获得相同颜色的不同阴影。我假设数据点在 data0x 和 data0y 中都是有序的(根据我的算法如何选择它们),所以我希望从一开始就比从最后开始的更暗。

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

如何才能做到这一点?

4

2 回答 2

3

您想使用彩色地图(画廊)。您需要(通过您想要的任何方案)[0, 1]为每个点分配一个浮点数,比如说

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

然后

ax.scatter(data0x, data0, c=c, cmap='blues',...)
于 2013-05-28T21:45:43.420 回答
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()

在此处输入图像描述

于 2013-05-29T05:16:58.297 回答