Matplotlib - 在定性色图中选择颜色

5

我正在将许多散点图一起绘制,例如:

import matplotlib.pyplot as plt
import numpy as np

N = 50

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

plt.scatter(x, y, c='blue')

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

plt.scatter(x, y, c='green')

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

plt.scatter(x, y, c='goldenrod')

plt.show()

enter image description here

我正在为>10个散点图做这件事,我希望能够从定性色彩地图中选择颜色以获得颜色平衡和分离效果,例如:

enter image description here

什么是最佳实现方式?

2
要获取“Pastel1”的第三种颜色,请使用“c = plt.cm.Pastel1(2)”代码。 - ImportanceOfBeingErnest
1个回答

16

我觉得使用迭代器来选择列表中的下一个颜色非常方便:

import matplotlib.pyplot as plt
import numpy as np

colors = iter([plt.cm.tab20(i) for i in range(20)])

N = 50

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

plt.scatter(x, y, c=[next(colors)])

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

plt.scatter(x, y, c=[next(colors)])

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

plt.scatter(x, y, c=[next(colors)])

plt.show()

在此输入图像描述


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接