每个方面的不同文本 window
different text in each facet window
我正在尝试使用以下代码向每个方面 window 添加中值和平均值:
library(dplyr)
library(ggplot2)
data(iris)
setosa <- filter(iris, Species == "setosa")
versicolor <- filter(iris, Species == "versicolor")
virginica <- filter(iris, Species == "virginica")
median1 <- round(median(setosa$Sepal.Length), 1)
mean1 <- round(mean(setosa$Sepal.Length), 1)
median2 <- round(median(versicolor$Sepal.Length), 1)
mean2 <- round(mean(versicolor$Sepal.Length), 1)
median3 <- round(median(virginica$Sepal.Length), 1)
mean3 <- round(mean(virginica$Sepal.Length), 1)
print(ggplot(data = iris) +
geom_histogram(aes(x = Sepal.Length, y = ..density..)) +
facet_wrap(~ Species) +
geom_text(aes(x = 6.7, y = 1.3),
label = noquote("median = \nmean = "),
hjust = 0))
我的主要问题是如何为每个分面图添加不同的文本元素,在本例中这意味着为每个物种添加中位数和均值。
谢谢。
用你想要的值和你分面的列制作一个数据框:
iris_summary = iris %>% group_by(Species) %>%
summarize(median = median(Sepal.Length),
mean = mean(Sepal.Length)) %>%
mutate(lab = paste("median = ", median, "\nmean = ", mean))
ggplot(data = iris) +
geom_histogram(aes(x = Sepal.Length, y = ..density..)) +
facet_wrap(~ Species) +
geom_text(data = iris_summary, aes(label = lab), x = 6.7, y = 1.3)
不要使用顺序命名的变量,例如 mean1
、mean2
、mean3
。程序,不要copy/pastefind/replace.
我正在尝试使用以下代码向每个方面 window 添加中值和平均值:
library(dplyr)
library(ggplot2)
data(iris)
setosa <- filter(iris, Species == "setosa")
versicolor <- filter(iris, Species == "versicolor")
virginica <- filter(iris, Species == "virginica")
median1 <- round(median(setosa$Sepal.Length), 1)
mean1 <- round(mean(setosa$Sepal.Length), 1)
median2 <- round(median(versicolor$Sepal.Length), 1)
mean2 <- round(mean(versicolor$Sepal.Length), 1)
median3 <- round(median(virginica$Sepal.Length), 1)
mean3 <- round(mean(virginica$Sepal.Length), 1)
print(ggplot(data = iris) +
geom_histogram(aes(x = Sepal.Length, y = ..density..)) +
facet_wrap(~ Species) +
geom_text(aes(x = 6.7, y = 1.3),
label = noquote("median = \nmean = "),
hjust = 0))
谢谢。
用你想要的值和你分面的列制作一个数据框:
iris_summary = iris %>% group_by(Species) %>%
summarize(median = median(Sepal.Length),
mean = mean(Sepal.Length)) %>%
mutate(lab = paste("median = ", median, "\nmean = ", mean))
ggplot(data = iris) +
geom_histogram(aes(x = Sepal.Length, y = ..density..)) +
facet_wrap(~ Species) +
geom_text(data = iris_summary, aes(label = lab), x = 6.7, y = 1.3)
不要使用顺序命名的变量,例如 mean1
、mean2
、mean3
。程序,不要copy/pastefind/replace.