我正在绘制许多散点图,例如:
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()
Run Code Online (Sandbox Code Playgroud)
我正在为 >10 个散点图执行此操作,并且我想从定性颜色图中选择颜色以获得颜色平衡和分离,例如:
做这个的最好方式是什么?
我发现使用迭代器能够选择列表中的下一个颜色非常简洁:
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()
Run Code Online (Sandbox Code Playgroud)