我在matplotlib中绘制散点图,我无法弄清楚如何以所需的方式为绘图着色。

每个Y值都需要使用自己独特的颜色。



我的数据看起来像这样:

X [5,5,5,5,5,10,10,15,15,15,15 ...],

Y [1,2,3,4,5,2,4,1,2,3,4,7 ...]

每个Y值代表一个唯一的设备,因此应唯一地着色。



我创建了保存每个Y值以及十六进制颜色值的字典,但是不确定我是否走对了



当前图形(较低),因此每个id值(Y值)都需要使用自己的颜色:

python - Matplotlib散点图颜色的Y值-LMLPHP

最佳答案

您可以将PatchCollectionCircle一起使用:

from matplotlib.patches import Circle, Wedge, Polygon
from matplotlib.collections import PatchCollection

# this is a list with all your circles
patch_rs = [Circle(x, y, radius, facecolor='orange', edgecolor='k')]

collection = PatchCollection(patch_rs)
ax1.add_collection(collection)


facecoloredgecolor可以是字符串,十六进制,RGB等(请参见here)。

Full example

Documentation

10-08 07:52