Gestion des couleurs dans Plotrix

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Olivier Vinet
Messages : 9
Enregistré le : 26 Oct 2017, 14:45

Gestion des couleurs dans Plotrix

Messagepar Olivier Vinet » 08 Oct 2022, 13:54

Bonjour,

J'utilise le package Plotrix pour faire un graphique qui me convient.
Cela étant, j'ai du mal à comprendre la gestion des couleurs et du coup je n'arrive pas à les paramétrer comme je voudrais.

Code : Tout sélectionner

color2D.matplot(Mtot, cs1=c(0,0,1),cs2=c(0,1,0),cs3=c(1,0,0), show.legend=FALSE, na.color="gainsboro",
                yrev=FALSE, axes=FALSE, xlab="", ylab="1/4 d'heures", nslices=11, show.values=FALSE,
                color.spec="rgb", border="slate grey")


Dans le code précédent, les valeurs de la matrice "Mtot", qui varient en gros entre 0 et 250, sont traduites en une palette de couleurs qui va du bleu vers le rouge en passant par le vert.
Moi j'aimerais pouvoir paramétrer ça comme je le souhaite, par exemple en utilisant les 11 tranches des couleurs liées au package RColorBrewer :

Code : Tout sélectionner

brewer.pal(n = 11, name = "RdYlBu")


Ca me permettrait d'utiliser d'autres seuils de couleurs pour une autre matrice dont les valeurs varient entre 0 et 50.

Je ne maitrise pas bien la logique de ce qu'on semble pouvoir faire avec color.scale ou avec cellcolors

Merci d'avance

Logez Maxime
Messages : 3138
Enregistré le : 26 Sep 2006, 11:35

Re: Gestion des couleurs dans Plotrix

Messagepar Logez Maxime » 10 Oct 2022, 19:56

Bonjour,

Tu peux découper ton jeu de données avec des valeurs seuils et chercher dans quels intervalles se trouvent tes données. Une fois que tu as ces intervalles tu peux leur attribuer une couleur selon la palette que tu as choisie.
Par exemple avec des intervalles réguliers :

Code : Tout sélectionner

mat <- matrix(1:50, 10)
cols <-  brewer.pal(n = 11, name = "RdYlBu")
lims <- seq(min(mat), max(mat), le = length(cols)+1)
lims[c(1,length(lims ))] <- lims[c(1,length(lims ))] + c(-1e-7, 1e7)

# la matrice des couleurs correspondante à la matrice des valeurs
cls <- cols[findInterval(mat, lims)]
dim(cls) <- dim(mat)

color2D.matplot(mat, cellcolors = cls)
Cordialement,
Maxime

Olivier Vinet
Messages : 9
Enregistré le : 26 Oct 2017, 14:45

Re: Gestion des couleurs dans Plotrix

Messagepar Olivier Vinet » 13 Oct 2022, 17:38

Alors j'ai fait différemment pour générer une matrice avec les couleurs associées, mais au final il me dit ça ...

Error in col2rgb(cellcolors) :
nom de couleur 'c("#DCDCDC", "#DCDCDC", "#DCDCDC", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#D73027", "#A50026", "#A50026", "#F46D43", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#A50026", "#D73027", "#A50026", "#A50026", "#A50026", "#A50026", "#DCDCDC", "#A50026", "#A50026", "#A50026", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC",
"#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC", "#DCDCDC")' incorrecte


Si besoin, je peux essayer de fournir les tables.

Olivier Vinet
Messages : 9
Enregistré le : 26 Oct 2017, 14:45

Re: Gestion des couleurs dans Plotrix

Messagepar Olivier Vinet » 13 Oct 2022, 20:24

Non en fait c'est bon, c'était une histoire de format de données. En convertissant bien en matrice, ça marche.
Impeccable, merci !


Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Google [Bot] et 1 invité

cron