geom_point 图例中的颜色和形状

问题描述 投票:0回答:1

您好,我认为有一个非常简单的问题,但我不知道如何解决它。

基本上,我有一个

geom_point
图,其中使用了两种方法,并且我希望区分这两种方法中的每一种的形状和颜色。起初它似乎工作正常;然而,一旦我到达传奇,就会发生一些奇怪的事情......

看起来 R 无法识别

guides
参数,具体来说,我无法将图例标题设置为我选择的内容,也无法将其移动到图例本身之上。此外,看起来 R 选择了
geom_label_repel
作为图例中显示的图标...

如果有解决办法,任何建议将不胜感激。预先感谢!

参见下文了解绘图和代码

library(readxl)
library(ggplot2)
library(ggrepel)
library(RColorBrewer)

excel_variants <- read_excel("/path/to/papuan_samples_variant-plot.xlsx", 2)

df_variants <- data.frame(excel_variants)

df_variants$sample <- factor(df_variants$sample, levels=c('6103675', '6103673', '6103671'))
#df_variants$approach <- factor(df_variants$approach, levels=c('filtered', 'personalized'))

### PLOT THE DATA
plot <- 
  
  ggplot(df_variants, aes(x=sample, y=value, color=approach, shape=approach)) + geom_point(position=position_dodge(width=0.15), size=2) +
  
  theme(plot.title=element_text(face='bold.italic', hjust=.5), legend.title=element_text(face='italic'), legend.position='bottom', legend.direction='horizontal') +
  scale_shape_manual(values=c('filtered'=15, 'personalized'=16)) + scale_color_manual(values=brewer.pal(11, "PRGn")[c(3, 9)]) + 
  ggtitle("SVs metrics") + guides(values=guide_legend(title='graph used', title.position='top', title.hjust=.5)) + 
  coord_flip()
plot

plot + geom_label_repel(aes(label=labels),
                 box.padding  = 0.5, 
                 point.padding = 0,
                 segment.color = 'grey50')
r ggplot2 position legend geom-point
1个回答
0
投票

您可以尝试在

name
中分配
scale_*()
参数来添加名称。

尝试添加

theme(legend.position = "top")
来设置图例位置。

show.legend = F
添加到
geom_label_repel()
调用以删除图例中的字母:

plot <- 
  
  ggplot(df_variants, aes(x=sample, y=value, color=approach, shape=approach)) + geom_point(position=position_dodge(width=0.15), size=2) +
  
  theme(plot.title=element_text(face='bold.italic', hjust=.5), legend.title=element_text(face='italic'), legend.position='bottom', legend.direction='horizontal') +
  scale_shape_manual(values=c('filtered'=15, 'personalized'=16), name = "My Legend") + 
  scale_color_manual(values=brewer.pal(11, "PRGn")[c(3, 9)], name = "My Legend") + 
  ggtitle("SVs metrics") + guides(values=guide_legend(title='graph used', title.position='top', title.hjust=.5)) + 
  coord_flip()


plot + geom_label_repel(aes(label=labels),
                        box.padding  = 0.5, 
                        point.padding = 0,
                        segment.color = 'grey50', 
                        show.legend = F)+
  theme(legend.position = "top")
© www.soinside.com 2019 - 2024. All rights reserved.