我知道有办法更新给定ggplot图的设置。
我想保存两个文件,一个是标准设置为png,另一个是pdf,但标签大小不同。
df <- data.frame(a=c('a;b;c','d;e;f'), b=c('A;B;C','D;E;F'),
x=c(1,2), y=c(2,3))
g <- ggplot(df, aes(x,y)) + geom_point() + geom_text(aes(label=a))
ggsave('test1.png',g)
ggsave('test2.pdf',g + geom_text(aes(label=a), size=10))
有没有办法删除或更新旧的geom_text图层而不只是在图表中添加图层?
答案 0 :(得分:2)
一种选择是使用更简单的基本对象g
,然后添加所需的图层
g <- ggplot(df, aes(x,y)) + geom_point()
ggsave('test1.png', g + geom_text(aes(label=a)))
ggsave('test2.pdf', g + geom_text(aes(label=a), size=10))
答案 1 :(得分:2)
查看str(g)
并更新相关位,在您的情况下应该可以正常工作:
g$layers[[2]]$geom_params$size <- 10
答案 2 :(得分:2)
您还可以将size
参数放在aes
内,然后使用scale_size_manual
来获得不同的比例。
g <- ggplot(df, aes(x,y)) +
geom_point() +
geom_text(aes(label=a, size="size"), show_guide = FALSE)
g + scale_size_manual(values=c(size = 10))