2017-05-25 82 views
4

我目前使用Plots包並將它與PyPlot包一起安裝。隨着代碼Julia中的自定義顏色漸變熱圖

using Plots 
y = rand(10, 10) 
pyplot() 
plt = plot(y, st=:heatmap, clim=(0,1), color=:coolwarm, colorbar_title="y") 

我能夠生產這種 heat map

我的問題是我怎麼能漸變的顏色從其當前設置更改(coolwarm與從紅色的轉變,其相當於灰階藍)到具有從紅色到綠色到藍色漸變的新設置。有什麼方法可以創建自定義colorgradient,並將其用作我的示例代碼中'coolwarm'的參數?

+0

https://matplotlib.org/examples/color/colormaps_reference.html https://matplotlib.org/users/colormaps.html – skan

回答

4

是的。首先,Plots中有許多顏色庫。嘗試clibraries(),然後例如cgradients(:colorbrewer)showlibrary(colorbrewer)。另外,您可以使用例如cgrad([:red, :green, :blue])並將其作爲color參數傳遞。

+2

我也許應該補充一點,自定義顏色漸變不能推薦專業用途。除了明確地顯示':misc'庫中的所有梯度之外,所有梯度都被選擇爲滿足例如所需的感知均勻性的標準。科學可視化。 –

+1

感謝額外的感性均勻性。我實際上是在尋找'jet'顏色漸變,但是我從你的推薦中決定了這一點。順便說一下,我發現https://github.com/bokeh/colorcet是一個有用的解釋,它使感知上的顏色梯度變得統一。 – JBar

+0

是的,我也喜歡這個解釋,許多'colorcet'漸變也可以在Plots中找到。在'jet',matlab(我認爲發明了這種配色方案並將其作爲他們默認的多年)的好幫手恕我直言,今天也不鼓勵它。 ':Spectral'是一個很好的選擇,它在美學上非常相似。如果你想要更類似彩虹的東西,你可以使用'clibrary(:colorcet)'將colorcet庫設置爲默認值,然後使用':rainbow'(這將覆蓋':misc中的不統一的':rainbow'漸變')。 –