我在使用Matplotlib顏色條時遇到了一些麻煩,也許我不理解文檔(我不是英語爲母語的人)或其核心概念。如何在Matplotlib中的可自定義位置的顏色條上設置樞軸?
假設我有一個數據矩陣(形狀,N * 2)。我想對這些數據做一個散點圖,並根據浮點數的一列標籤(N * 1)添加一個顏色方案。我知道如何使用colorbar和標量映射。
但是,我對這個標籤欄中的一些透視值感興趣,我希望將這些值呈現在顏色條的一些有趣位置。例如,標籤值爲0,我想將它定位在1/3位置或中間位置 - 在我選擇的顏色條中可以有白色或灰色。
但是,如果我理解正確,colorbar只從[min,max]中的原始數據獲取[0,1]映射的數據數組。在這種情況下,我感興趣的主要值將隨機結束,除非我非常仔細地定義我的規範化函數。
因此,爲了讓我的偏移值更喜歡的白色是在顏色條的中間,我必須定義歸一化函數,它不僅規範了我的數據,而且還使樞軸值位於0.5。
對於我有限的Matplotlib經驗,這是我所知道的解決方案。
理想情況下,假設我有一列浮點數據,我可以選擇一些樞軸值,並給他們一些特殊的位置。然後我將它們歸一化並提供給色圖。但是,顏色條可以爲我之前定義的特殊位置設置特殊顏色。並通過正確的刻度線定位器和刻度標籤獲取相應的顏色條,這表明我的特殊數據透視值。
我正在尋找一個更簡單的方法(從標準庫),我可以使用實現這一點。
我害怕編碼一個特殊的色彩映射和仔細的標準化函數。我想要有可伸縮的顏色映射和多範數函數。我想知道是否有人能理解我... – Hualin
我會使用'LinearSegmentedColormap' http://matplotlib.org/api/colors_api.html#matplotlib.colors.LinearSegmentedColormap,以便您可以將透視顏色置於任何您想要的位置。我會建議_trying_的東西,然後編輯你的問題,包括代碼。人們對代碼的反應會比散文的牆更好(你的英語很好)。 – tacaswell
啊哈,我只是想知道我能在這裏得到回覆多久。是的,我知道線性分段顏色圖。這是我會做的最後一件事,因爲matplotlib中已經有一組顏色條了,但我只是想讓它伸展,以便我可以在那裏定位我的透視值。我希望使用colorbrewer顏色映射。不管怎麼說,還是要謝謝你。我將立即編碼'linearsegmap'。 – Hualin