繁体   English   中英

ggplot2图例标题位置

[英]ggplot2 legend title position

我使用以下代码创建热图:

library(ggplot2)
gamma_df <- read.csv("https://www.dropbox.com/s/1kpclcq7o907t61/blogs_test.csv?dl=1")
p <- ggplot(data = gamma_df, aes(x=gamma2, y=gamma3, fill=predacc)) + geom_tile()
p <- p + scale_fill_gradient2(low = "white", high = "red",
                              limit = c(0.1,0.4), space = "Lab",
                              name="Discounts")
p <- p + theme(legend.position="right")
p

我的结果如下所示:

在此处输入图片说明

我没有成功将图例标题上移一点,以使它不与值重叠。 我尝试添加

p + guides(color=guide_colourbar(title.vjust=3))

如此处建议的那样具有title.vjust参数的各种值,但没有任何运气。 有人知道这个魔术吗?

一个快速的解决方案是在图例标题的末尾添加换行符:

library(ggplot2)
gamma_df <- read.csv("https://www.dropbox.com/s/1kpclcq7o907t61/blogs_test.csv?dl=1")
p <- ggplot(data = gamma_df, aes(x=gamma2, y=gamma3, fill=predacc)) + geom_tile()
p <- p + scale_fill_gradient2(low = "white", high = "red",
                              limit = c(0.1,0.4), space = "Lab",
                              name="Discounts\n")
p <- p + theme(legend.position="right")
p

尽管摆脱limit =可能会更好

gamma_df <- read.csv("https://www.dropbox.com/s/1kpclcq7o907t61/blogs_test.csv?dl=1")
    p <- ggplot(data = gamma_df, aes(x=gamma2, y=gamma3, fill=predacc)) + geom_tile()
    p <- p + scale_fill_gradient2(low = "white", high = "red",
                                  space = "Lab",
                                  name="Discounts")
    p <- p + theme(legend.position="right")
    p

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM