具有ggplot2笔划的控制栏边框(颜色)的厚度

问题描述 投票:12回答:2

是否可以使用ggplot2 2.0引入的stroke参数来调整条形边框的粗细?如果没有,是否有办法沿点边界厚度线控制条边界厚度? Stroke applies to borders around certain shapes -- see the second answer

非常适中的MWE,仅显示填充:

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

评论后编辑好的,感谢MLavoie的评论,它是如此简单。这是我结束的代码,不,除了教授ggplot及其功能之外,我实际上并未使用此绘图。

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

r ggplot2 geom-bar
2个回答
15
投票

正如我在OP中所建议的,我将重新复制我的评论作为答案。

您只需要在size表达式中设置geom_bar()

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

0
投票

此方面的后续行动:你怎么能使边界比这更薄?

1)大小= ifelse(factor2 ==“ A”,2,1)改变2,这里不是1在aes()之外增加大小会覆盖ifelse

© www.soinside.com 2019 - 2024. All rights reserved.