2
votes

Imprimez des couleurs HEX pour les visualiser

J'ai les couleurs suivantes:

c("#bbb487", "#066e9f", "#e2dfcc", "#4e766d", "#dd8047", "#d8b25c")

Je voudrais faire un tracé simple pour que je puisse voir les couleurs, soit avec ggplot2 soit avec la base R. p>


0 commentaires

4 Réponses :


7
votes

Vous pouvez utiliser l ' espace colorimétrique pour l'exemple de tracé

library(colorspace)
demoplot(c("#bbb487", "#066e9f", "#e2dfcc", "#4e766d", "#dd8047", "#d8b25c"), type = "bar")


2 commentaires

Cela nécessite colorspace version> = v1.4-0 publié en janvier 2019. Ce n'était pas dans les versions antérieures du package.


Oui, j'utilise le package «espace de couleurs» version 1.4-1. Merci MrFlick



5
votes

Avec ggplot2 vous pouvez faire

show_colors <- function(colors) {
  ncol <- length(colors)
  plot(0,0, ylim=c(0, 1), xlim=c(0, ncol), type="n")
  rect(0:(ncol-1), 0, 1:ncol, 1, col = colors)
}
show_colors(colors)

qui renvoie

 entrez la description de l'image ici

Ou vous pouvez le tourner sur le côté et imprimer les noms de couleur

show_colors2 <- function(colors) { 
  ggplot(data.frame(id=seq_along(colors), color=colors)) + 
    geom_tile(aes(1, id, fill=color)) + 
    geom_text(aes(1, id, label=color)) + 
    scale_fill_identity()
}
show_colors2(colors)

entrez la description de l'image ici

Ce graphique de base vous pourriez faire

library(ggplot2)
show_colors <- function(colors) { 
  ggplot(data.frame(id=seq_along(colors), color=colors)) + 
    geom_tile(aes(id, 1, fill=color)) + 
    scale_fill_identity()
}

colors <- c("#bbb487", "#066e9f", "#e2dfcc", "#4e766d", "#dd8047", "#d8b25c")
show_colors(colors)


0 commentaires

1
votes

Il existe peut-être un moyen plus élégant, mais cela montre ce que vous voulez:

df <- data.frame(
  x = c(1,2,3,4,5,6),
  y = rep(1,6),
  c = c("#bbb487", "#066e9f", "#e2dfcc",
        "#4e766d", "#dd8047", "#d8b25c")
 )

farbe <- c("#bbb487", "#066e9f", "#e2dfcc",
          "#4e766d", "#dd8047", "#d8b25c")

ggplot(df, aes(x,y, col=c))+geom_point(size=8)+
  theme_bw()+
  scale_color_manual(
    name="Colors",
    values = farbe,
    breaks = c("#bbb487", "#066e9f", "#e2dfcc",
               "#4e766d", "#dd8047", "#d8b25c"))

Ce n'était pas bien et je sais que les réponses ci-dessus sont les meilleures Mais je voulais apporter les améliorations nécessaires pour offrir au moins une réponse correcte - du moins en ce qui concerne le choix des couleurs:

library(ggplot2)

df <- data.frame(
    x = c(1,2,3,4,5,6),
    y = rep(1,6),
    c = c("#bbb487", "#066e9f", "#e2dfcc", "#4e766d", "#dd8047", "#d8b25c")
 )
ggplot(df, aes(x,y, col=c))+geom_point(size=8)

 entrez la description de l'image ici


2 commentaires

Ce ne sont en fait pas les bonnes couleurs. Ce sont les couleurs par défaut de la palette de couleurs ggplot.


Merci, monsieur Flick. Je n'ai pas reconnu cela.



0
votes

Une option légère qui ne nécessite que grid,

grid::grid.raster(t(c("#bbb487", "#066e9f", "#e2dfcc", "#4e766d", "#dd8047", "#d8b25c")), interp=FALSE)


0 commentaires