web-dev-qa-db-fra.com

Épaisseur de la bordure (couleur) de la barre de contrôle avec un trait ggplot2

Est-il possible d'utiliser l'argument stroke introduit avec ggplot2 2.0 pour ajuster l'épaisseur des bordures autour des barres? Sinon, existe-t-il un moyen de contrôler l'épaisseur de la bordure de la barre le long des lignes de l'épaisseur de la bordure de point? Le trait s'applique aux bordures autour de certaines formes - voir la deuxième réponse

Un MWE très modeste, montrant uniquement le remplissage:

factor <- c("One", "Two", "Three", "Four")
value <- c(1, 2, 3, 4)
factor2 <- c("A", "B", "A", "B")

df <- data.frame(factor = factor(factor, levels = factor),
                 value = value, factor2 = factor2) 

ggplot(df, aes(x = factor, y = value, color = factor2)) +
  geom_bar(stat = "identity")

Colored borders, but what about size of borders

MODIFIER après COMMENT OK, grâce au commentaire de MLavoie, c'était si simple. Voici le code avec lequel je me suis terminé, et, non, je n'utilise pas réellement ce tracé à part pour enseigner ggplot et ses capacités.

ggplot(df, aes(x = factor, y = value, color = factor2)) +
  scale_color_manual(values = c("darkgreen", "slateblue4")) +
  geom_bar(stat = "identity", aes(fill = "transparent", size = ifelse(factor2 == "A", 2, 1))) +
  guides(fill = FALSE) +
  guides(size = FALSE) +
  guides(color = FALSE)

Modifying bar borders by thickness and shade

13
lawyeR

ainsi que je l'ai suggéré par le PO, je vais juste recopier mon commentaire comme réponse.

il vous suffit de définir size dans votre expression geom_bar():

geom_bar(stat = "identity", aes(fill = "transparent", size = ifelse(factor2 == "A", 2, 1)), size=2)
14
MLavoie