2017-05-25 5 views
4

J'utilise actuellement le paquet Plots et je l'ai avec les paquets PyPlot installés. Avec le codecarte de chaleur colorgradient personnalisée dans Julia

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

Je suis en mesure de produire ce heat map

Ma question est de savoir comment je peux changer le dégradé de couleurs de son réglage actuel (coolwarm qui correspond à une transition du rouge au gris au bleu) à un nouveau paramètre qui a un gradient du rouge au vert au bleu. Y a-t-il un moyen de créer un dégradé de couleurs personnalisé et de l'utiliser comme argument dans lequel j'ai "coolwarm" dans mon exemple de code?

+0

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

Répondre

4

Oui. Tout d'abord, il existe de nombreuses bibliothèques de couleurs dans les graphiques. Essayez clibraries(), puis par ex. cgradients(:colorbrewer) ou showlibrary(colorbrewer). En outre, vous pouvez créer votre propre dégradé avec, par exemple, cgrad([:red, :green, :blue]) et transmettez-le en tant qu'argument color.

+2

Je devrais peut-être ajouter que des dégradés de couleurs personnalisés ne peuvent pas être recommandé pour un usage professionnel. Tous les dégradés dans les graphiques, à l'exception de ceux explicitement ceux de la bibliothèque ': misc', sont sélectionnés pour répondre aux critères d'uniformité perceptuelle nécessaires par exemple. visualisation scientifique. –

+1

Merci pour le côté supplémentaire sur l'uniformité perceptuelle. Je cherchais en fait le dégradé de couleur 'jet' mais j'ai décidé de ne pas suivre cette recommandation. En passant, j'ai trouvé https://github.com/bokeh/colorcet comme une explication utile de ce qui rend un gradient de couleur perceptuellement uniforme. – JBar

+0

Oui, j'aime aussi cette explication, et de nombreux dégradés 'colorcet' sont également disponibles dans les graphiques. Et bon appel IMHO sur «jet», matlab (qui je pense a inventé ce schéma de couleurs et l'avait comme leur défaut pendant des années) aussi décourager aujourd'hui. ': Spectral' est une bonne alternative qui est assez similaire esthétiquement. Si vous voulez quelque chose d'encore plus arc-en-ciel, vous pouvez définir la bibliothèque colorcet par défaut avec 'clibrary (: colorcet)' et ensuite utiliser ': rainbow' (qui écrase le dégradé non-uniforme': rainbow' dans ': misc '). –