300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python 散点图 不同颜色_在matplotlib散点图中为每个系列设置不同的颜色

python 散点图 不同颜色_在matplotlib散点图中为每个系列设置不同的颜色

时间:2023-09-15 21:23:18

相关推荐

python 散点图 不同颜色_在matplotlib散点图中为每个系列设置不同的颜色

在matplotlib中使用不同颜色的点绘制绘图的常规方法是将颜色列表作为参数传递。

例如:import matplotlib.pyplot

matplotlib.pyplot.scatter([1,2,3],[4,5,6],color=['red','green','blue'])

当你有一个列表的列表,你希望他们的颜色每个列表。

我想最优雅的方式是@DSM的建议,

只需做一个循环,进行多次调用分散。

但如果出于某种原因,你只需要打一个电话,你就可以列出一大串颜色,有一个列表理解和一点地板划分:import matplotlib

import numpy as np

X = [1,2,3,4]

Ys = np.array([[4,8,12,16],

[1,4,9,16],

[17, 10, 13, 18],

[9, 10, 18, 11],

[4, 15, 17, 6],

[7, 10, 8, 7],

[9, 0, 10, 11],

[14, 1, 15, 5],

[8, 15, 9, 14],

[20, 7, 1, 5]])

nCols = len(X)

nRows = Ys.shape[0]

colors = matplotlib.cm.rainbow(np.linspace(0, 1, len(Ys)))

cs = [colors[i//len(X)] for i in range(len(Ys)*len(X))] #could be done with numpy's repmat

Xs=X*nRows #use list multiplication for repetition

matplotlib.pyplot.scatter(Xs,Ys.flatten(),color=cs)

cs = [array([ 0.5, 0. , 1. , 1. ]),

array([ 0.5, 0. , 1. , 1. ]),

array([ 0.5, 0. , 1. , 1. ]),

array([ 0.5, 0. , 1. , 1. ]),

array([ 0.28039216, 0.33815827, 0.98516223, 1. ]),

array([ 0.28039216, 0.33815827, 0.98516223, 1. ]),

array([ 0.28039216, 0.33815827, 0.98516223, 1. ]),

array([ 0.28039216, 0.33815827, 0.98516223, 1. ]),

...

array([ 1.00000000e+00, 1.22464680e-16, 6.12323400e-17,

1.00000000e+00]),

array([ 1.00000000e+00, 1.22464680e-16, 6.12323400e-17,

1.00000000e+00]),

array([ 1.00000000e+00, 1.22464680e-16, 6.12323400e-17,

1.00000000e+00]),

array([ 1.00000000e+00, 1.22464680e-16, 6.12323400e-17,

1.00000000e+00])]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。