我尝试根据与x或y值无关的值为matplotlib散点图中的点指定颜色。例如,每个点可以是3个值中的一个,因此我想要3个不同的颜色用于3个可能的值。所以,有3个数组:x_arr,y_arr和val_arr,其中val_arr的每个元素可以是1,2或3.看起来像我见过的大多数例子都有基于数组中位置的颜色,而不是基于独立的价值。
为了在3种点之间获得高对比度,以便在有很多点的情况下获得更好的可见性,我已经做过类似的事情:
pt_color = plt.cm.Dark2(np.linspace(0, 1, 3))
我无法弄清楚如何为每个值元素指定正确的颜色。从概念上讲,我想做这样的事情,
gr.scatter(x_arr, y_arr, c=val_arr, cmap=pt_color)
其中val_arr的每个元素使用pt_color映射到一个颜色,但上面的方法不起作用(我得到一个TypeError,因为pt_color是不可用的类型)。
任何指针都表示赞赏。