【发布时间】:2017-04-01 17:45:29
【问题描述】:
我正在尝试设置一个图表,其中如果 n == 0 比 n > 0 点的大小更小。代码在我添加图例之前一直有效。这是我的有效代码:
ggplot(len.oo, aes(x = TCL, y = n, colour = worm, shape = worm)) + ylim(0, 20) +
geom_point(size = ifelse(len.oo$n == 0, 2, 4)) +
theme_bw() + xlab(expression(~italic("O. obscurus")~"TCL (mm)")) + ylab("Abundance") +
theme(legend.title=element_blank(), legend.position="none")
这给了我:
只要我添加一个图例,它就会给我一个错误。带图例的代码:
ggplot(len.oo, aes(x = TCL, y = n, colour = worm, shape = worm)) + ylim(0, 20) +
geom_point(size = ifelse(len.oo$n == 0, 2, 4)) +
theme_bw() + xlab(expression(~italic("O. obscurus")~"TCL (mm)")) + ylab("Abundance") +
theme(legend.title=element_blank(), legend.position=c(0.2, 0.8)) + guides(size=FALSE)
给我错误:
错误:美学长度必须为 1 或与数据相同 (3): 尺寸
我也试过position = "top"之类的,把图例放在情节之外,没有指南(size=FALSE)
我可以很容易地制作没有图例的图形,然后制作没有大小差异的图例,并使用其他软件将图例复制并粘贴到图像上,但我想在 R 中完成这一切。
【问题讨论】:
标签: r if-statement ggplot2