为自定义添加图例 stat_summary fun.data
Add legend for a custom stat_summary fun.data
如何为我使用 stat_summary
添加到绘图中的对象添加图例?
这是一个例子:
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
p <- ggplot(ToothGrowth, aes(x=dose, y=len)) +
geom_violin(trim=FALSE)
data_summary <- function(x) {
m <- mean(x)
ymin <- m-sd(x)
ymax <- m+sd(x)
return(c(y=m,ymin=ymin,ymax=ymax))
}
p + stat_summary(fun.data=data_summary)
### Code from http://www.sthda.com/english/wiki/ggplot2-violin-plot-quick-start-guide-r-software-and-data-visualization
我想添加一个描述性图例,解释每个小提琴图中心的线和点代表什么。
根据下面的相关主题,我的印象是可以通过在 stat_summary
中定义 aes(shape="")
然后添加 scale_shape_manual("", values=c("?"))
来实现。但是我一直没有成功。
相关。 ggplot2 legend for stat_summary
听起来你已经掌握了它的工作原理,将一个常量映射到某种美学,然后使用 scale_*_manual()
清理图例。
在 scale_shape_manual()
中,我想删除图例名称,并通过更改 limits
向图例添加第二个框。我使用 c("Mean", "1 SD")
但这些可以是任何你想要的。
所需形状的数量由图例框的数量决定,因此我将两个给 values
,第二个使用 NA
,因为图例中的第二个框应该与没意义。
最后,我在 guide_legend()
中使用 override.aes()
删除第一个框中的行。
p + stat_summary(fun.data=data_summary, aes(shape = "Mean")) +
scale_shape_manual(name = NULL,
limits = c("Mean", "1 SD"),
values = c(19, NA),
guide = guide_legend(override.aes = list(linetype = c(0, 1))))
如何为我使用 stat_summary
添加到绘图中的对象添加图例?
这是一个例子:
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
p <- ggplot(ToothGrowth, aes(x=dose, y=len)) +
geom_violin(trim=FALSE)
data_summary <- function(x) {
m <- mean(x)
ymin <- m-sd(x)
ymax <- m+sd(x)
return(c(y=m,ymin=ymin,ymax=ymax))
}
p + stat_summary(fun.data=data_summary)
### Code from http://www.sthda.com/english/wiki/ggplot2-violin-plot-quick-start-guide-r-software-and-data-visualization
我想添加一个描述性图例,解释每个小提琴图中心的线和点代表什么。
根据下面的相关主题,我的印象是可以通过在 stat_summary
中定义 aes(shape="")
然后添加 scale_shape_manual("", values=c("?"))
来实现。但是我一直没有成功。
相关。 ggplot2 legend for stat_summary
听起来你已经掌握了它的工作原理,将一个常量映射到某种美学,然后使用 scale_*_manual()
清理图例。
在 scale_shape_manual()
中,我想删除图例名称,并通过更改 limits
向图例添加第二个框。我使用 c("Mean", "1 SD")
但这些可以是任何你想要的。
所需形状的数量由图例框的数量决定,因此我将两个给 values
,第二个使用 NA
,因为图例中的第二个框应该与没意义。
最后,我在 guide_legend()
中使用 override.aes()
删除第一个框中的行。
p + stat_summary(fun.data=data_summary, aes(shape = "Mean")) +
scale_shape_manual(name = NULL,
limits = c("Mean", "1 SD"),
values = c(19, NA),
guide = guide_legend(override.aes = list(linetype = c(0, 1))))