创建一个简单的堆积条形图:
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()
没有收到错误。
答案 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
参数允许您指定在美学中定义的每个级别的精确大小。