我在我的rc文件(axes.color_cycle)中配置了我自己的颜色循环,它适用于plot
命令,但不适用于:
for i in range(len(x)):
ax.scatter(x[i],y[i],s=area[i], alpha = 0.5)
任何想法如何解决?
答案 0 :(得分:3)
您无需循环以使用.scatter
。您可以准备一份颜色列表,并将color=
提供给scatter
。 color
方法的实现方式是颜色列表不需要与数据长度匹配,如果需要,它会自动重复/循环或截断。
例如:
fig, ax = plt.subplots()
n = 50
x = np.random.randint(0,100,n)
y = np.random.randint(0,100,n)
area = np.random.randint(20,100,n)
ax.scatter(x, y, s=area, alpha=0.5, color=mpl.rcParams['axes.color_cycle'])
结果: