[英]3 color dimensions with Google Visualization Geochart Color Scale
我的數據有三個不同的“向量”。 對於數據中的每一行,我都有像狗一樣的百分比,像貓一樣的百分比以及其他寵物一樣的百分比。
A 20, 40, 40
B 10, 20, 70
C 80, 0, 20
D 90, 10, 0
...
我想使用Google Visualization Geochart根據喜歡的寵物用顏色表示國家/地區。 我想通過分配RGB值來做到這一點,具體取決於該國某類寵物的百分比。
因此100、0、0將是100%紅色。 0、100、0將是100%綠色。 0、0、100將是100%藍色。 介於兩者之間。
如果手動編碼顏色,則使用javascript這樣的代碼很容易。 我的問題是,每一行都會有不同的組合(我有很好的關於寵物偏好的數據,低至幾個小數點),這將要求我為每行分配一個顏色值,我大約有200其中。
盡管這是不得已的方法,但我還是更願意使用Geochart內置的漸變為我完成繁重的工作。
問題在於顏色漸變僅允許2d漸變。 我可以有多個漸變,但是我無法確定是否僅使用2d漸變就可以表示3d色彩空間。
因此,我可以為以下項創建漸變:
這將涵蓋可能的顏色范圍,還是僅讓我控制色相,而不是飽和度或亮度? 這可行嗎,或者我只是更好地解決了嗎?
我結束了手動操作,因為它非常容易。 我最終得到了4個矢量作為數據,因此我使用CMYK顏色模型為它們着色。 對於每個向量,我都將百分比計算為顏色的C,M,Y或K分量的一部分。
然后,我使用以下邏輯(偽代碼)將其轉換為RGB:
C' = C * (100% - K) + K
M' = M * (100% - K) + K
Y' = Y * (100% - K) + K
R = 255 - 255 * C'
G = 255 - 255 * M'
B = 255 - 255 * Y'
我將它們轉換為HTML顏色代碼,並將它們扔進一個數組中。 然后,我為與該元素colorAxis.colors
的數組中的元素對應的每一行分配一個值,並將其扔到選項的colorAxis.colors
部分中。
結果是令人難以置信的可怕,並且作為一種傳達信息的方式是完全不切實際的。 不僅顏色令人討厭(青色,洋紅色和黃色不是很好的顏色組合),而且除非您是真正的顏色專家(我的觀眾不是),否則您真的無法分辨混合的含義。
回到繪圖板!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.