改善matplotlib中的颜色对比度

时间:2018-11-01 13:00:58

标签: python matplotlib colors scatter-plot

我有一个散点图,包含13000多个像素,根据一个标签分为50个簇。在这种情况下,标签代表与像素相对应的化学实体(参见图片)。通过将标签转换为数字[0,50],然后将这些数字更改为rgb值,我基于标签为像素着色。虽然这样做有效,但是相邻标签之间的对比度不够好。例如,在图中,前四个标签均为蓝色,而后七个标签为棕色。这无助于我区分标签。有没有一种方法可以改善相邻标签之间的颜色对比度?

class_colors=np.arange(0,50) # each integer corresponds to a label
class_colors_float=[]
for i in class_colors:
    class_colors_float.append(round(i/len(class_colors),2))
cmap=plt.cm.get_cmap('Paired')  # choosing a color map
rgba=cmap(class_colors_float)   # converting the color map to rgb values


# creating scatter plot
t=ax.scatter(...,cmap=plt.cm.get_cmap('Paired'))

recs = []  # creating rectange patches for the legends
# coloring each rectangle according to the label it corresponds to

for i in range(0,len(class_colors)):
  recs.append(mpatches.Rectangle((0,0),1,1,facecolor=rgba[i]))

enter image description here     plt.legend(recs,classes,loc ='best',bbox_to_anchor =(1,0,1,1),mode ='expand')

0 个答案:

没有答案