R:可以在ggplot2中渲染更精确的轮廓权重吗?

时间:2017-07-17 21:27:28

标签: ggplot2 outline

创建一个简单的堆积条形图:

require(ggplot2)
g <- ggplot(mpg, aes(class)) + 
geom_bar(aes(fill = drv, size=ifelse(drv=="4",2,1)),color="black",width=.5)

我可以将size=ifelse(drv=="4",2,1)中的大小值更改为许多不同的值,我仍然可以获得相同的两个线宽。有没有解决的办法? (2,1)产生与(1.1,1)和(10,1)相同的图表。理想情况下,较厚的重量应该比标准轮廓稍厚一些,而不是大约10倍。

作为添加的背景,您可以在size之外设置aes()并按照您的预期设置大纲宽度比例,但我无法在外部分配ifelse条件aes()没有收到错误。

Sample Plot

1 个答案:

答案 0 :(得分:1)

你给出的两个尺寸值只是ggplot中没有采用面值的任意等级。

您可以使用

ggplot(mpg, aes(class)) +  
  geom_bar(
    aes(fill = drv, size = drv == "4"),
    color = "black", width = .5) + 
  scale_size_manual(values = c(1, 2))

values参数允许您指定在美学中定义的每个级别的精确大小。