【发布时间】:2020-03-30 13:54:22
【问题描述】:
我有以下代码来绘制列表plot 中的dataframes。绘图有 18 个数据帧。数据帧的命名约定如下:84-9、84-12、84-15、92-9、92-12、92-15、100-9、100-12、100-15、108-9、 108-12、108-15、116-9、116-12、116-15、124-9、124-12、124-15。
下面提供了列表中的示例数据框。所有的数据框都具有相同的格式和大小:
Plot[["84-9"]]
Names Type Shear Moment
<chr> <chr> <dbl> <dbl>
1 Baseline ext_multi 0.824 0.614
2 Baseline ext_single 0.734 0.464
3 Baseline int_multi 0.727 0.527
4 Baseline int_single 0.599 0.338
5 Sample ext_multi 0.829 0.626
6 Sample ext_single 0.737 0.475
7 Sample int_multi 0.712 0.512
8 Sample int_single 0.595 0.327
9 Sample ext_multi 0.823 0.611
10 Sample ext_single 0.737 0.464
# ... with 34 more rows
我使用下面的代码
library(ggplot2)
for (i in 1:length(Plot)) {
plot.Shear <- ggplot(data = subset(Plot[[i]], Names = "Sample"), aes(x = Type, y = Shear)) +
geom_boxplot(outlier.shape = NA) +
stat_summary(fun = mean, geom="point", shape=23, size=3) +
stat_boxplot(geom='errorbar', linetype=1, width=0.5) +
geom_point(data = subset(Plot[[i]], Names != "Sample"), aes(colour = Names)) +
scale_color_manual(values=c("red","green4","black")) +
theme(legend.title=element_blank()) +
theme(axis.title.x=element_blank()) +
theme(axis.title.y=element_blank()) +
labs(title = "Shear Live Load Distribution Factors") +
theme(plot.title = element_text(hjust = 0.5))
print(plot.Shear)
}
目前,我正在删除图例标题,否则,它将读取列标题“名称”。我想在循环中添加图例标题,这样每个图例标题都会显示“UG”,然后是为其生成图的数据框的名称。示例 UG84-9。
【问题讨论】:
-
另外,一般来说,请让您的问题可重现。我链接到的问题包含将 链接到如何做到这一点的 cmets。
-
@Tjebo 非常感谢您的回复,我更新了帖子以包含示例数据框。我可以使 plot 变量的 ggtitle() 与您提到的示例相同。我正在尝试为图例标题执行此操作,但它不起作用。
标签: dataframes plot r ggplot2 legend