r - 向图例添加额外的项目

标签 r ggplot2

我有以下数据:

trait,beta,se,p,analysis,signif
trait1,0.078,0.01,9.00E-13,group1,1
trait2,0.076,0.01,1.70E-11,group1,1
trait3,-0.032,0.01,0.004,group1,0
trait4,0.026,0.01,0.024,group1,0
trait5,0.023,0.01,0.037,group1,0
trait1,0.042,0.01,4.50E-04,group2,1
trait2,0.04,0.01,0.002,group2,1
trait3,0.03,0.01,0.025,group2,0
trait4,0.025,0.01,0.078,group2,0
trait5,0.015,0.01,0.294,group2,0
trait1,0.02,0.01,0.078,group3,0
trait2,0.03,0.01,0.078,group3,0
trait3,0.043,0.01,1.90E-04,group3,0
trait4,0.043,0.01,2.40E-04,group3,1
trait5,0.029,0.01,0.013,group3,0

并使用以下代码绘制一个图:
library(ggplot2)
ggplot(GEE, aes(y=beta, x=reorder(trait, beta), group=analysis)) + 
  geom_point(data = GEE[GEE$signif == 1, ],
             color="red",
             shape = "*", 
             size=12, 
             show.legend = F) +
  geom_point(aes(color=analysis)) +
  geom_errorbar(aes(ymin=beta-2*se, ymax=beta+2*se,color=analysis), width=.2,
                position=position_dodge(.2)) +
  geom_hline(yintercept = 0) +
  theme_light() +
  theme(axis.title.y=element_blank(),
        legend.title=element_blank()) +
  coord_flip() 

这给了我以下情节:

enter image description here

我想在图例中添加一个额外的元素,即红色星号,我希望它表示“重要”。我该怎么做?

附注。如果你喜欢这段代码,我还有一个问题,指定 here :)

最佳答案

添加虚拟人 aes()geom_point - 例如被命名为重要的填充 aes(fill = "Significant") .

# Using OPs data
library(ggplot2)
ggplot(GEE, aes(y=beta, x=reorder(trait, beta), group=analysis)) + 
  geom_point(data = GEE[GEE$signif == 1, ],
             color="red",
             shape = "*", 
             size=12,
             aes(fill = "Significant")) +
  geom_point(aes(color=analysis)) +
  geom_errorbar(aes(ymin=beta-2*se, ymax=beta+2*se,color=analysis), width=.2,
                position=position_dodge(.2)) +
  geom_hline(yintercept = 0) +
  theme_light() +
  theme(axis.title.y=element_blank(),
        legend.title=element_blank()) +
  coord_flip() +
  guides(colour = guide_legend(order = 1), 
         fill = guide_legend(override.aes = list(size = 5))) +
  theme(legend.margin = margin(-0.5,0,0,0, unit="cm"))

PS:我也删除了show.legend = F来自asterik geom_point
enter image description here

关于r - 向图例添加额外的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46844465/

相关文章:

r - 通缉 : repeated-pictogram visualization of population split

r - 时间戳差异

r - 使用 Vennerable 的并排维恩图

r:在 ggplot2 中绘制带孔的多边形时撕裂

r - geom_area 不堆叠(ggplot)

r - ggplot2 中的 geoms 和 stats 有什么区别?

r - ggmap 绘制坐标的问题

读入具有两行标题的文件

r - 有条件地以 dplyr 计数

r - 多个地 block 并排 - 如何使所有地 block 具有相同的宽度?