我試圖根據與x或y值無關的值爲matplotlib散點圖中的點分配顏色。例如,每個點可以是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映射到一個顏色,但上面沒有工作(我得到一個類型錯誤,因爲pt_color是unhashable型)。
任何指針表示讚賞。
爲什麼你不val_arr分爲三個型動物陣列,那麼你可以很容易地給型動物的顏色,以每套價值...你必須雖然隱藏圖例,因爲你不希望看到有3組。 – Richard
@Richard有趣的想法。雖然我說只有3種觀點,但這可能會讓人感到毛骨悚然,但這只是爲了簡化問題。可以有32種不同的類型。感謝您的建議。 – ChrisF