4

我尝试了很多建议,但没有一个适合这个特别简单的例子。如何将图例标题更改为 Sample?

df1 <- data.frame(
  Order = c(1,1,2,2),
  Tissue = c("Bladder","Pancreas","Bladder","Pancreas"),
  Sample = c("WT","WT","Mutant","Mutant"),
  Percent = c(94.12,55,5.88,45)
)

ggplot(data = df1, aes(x = Tissue, y = Percent, group = Sample)) + 
    geom_point(aes(shape=reorder(Sample,Order), fill=reorder(Sample,Order)), size = 6) +
    scale_shape_manual(values=c(21,22)) +
    scale_fill_manual(values=c("deepskyblue1","yellow")) 

谢谢你。

4

2 回答 2

4

scale_XX接受name可以调整的参数:

scale_shape_manual(name = "Sample", values=c(21,22)) +
scale_fill_manual(name = "Sample", values=c("deepskyblue1","yellow")) 

如果您不将它传递给两个比例,它显然会默认创建两个单独的图例。

您也可以reoder()在传递到您的绘图代码之前做一些事情。

有关详细信息,请参见此处

于 2013-03-19T20:46:36.317 回答
4

另一种选择是使用guides

bp + guides(fill=guide_legend("Sample"),shape=guide_legend("Sample"))

在此处输入图像描述

于 2013-03-19T20:52:30.167 回答