根据列中的值绘制多个图
Plot multiple plots dependent on value in column
我有一个数据框,其中包含中位数、第 1 和第 3 个百分位数、ID 和组。这是一些测试数据,但实际数据由 500 多行组成。
data <- data.frame( "County" = c(1,1,2,2,3,3), "Median" = c(5,7,8,2,4,5), "Low" = c(0.5,2,4,1,2,3), "High" = c(10,12,11,9,10,15), "ID" = c("TRUE", "TRUE", "FALSE", "TRUE", "FALSE", "FALSE"), "group" = c(1,1,2,2,3,3))
我将始终有一个“县”的副本,在我的情节中,我想显示两个 geom_crossbars 彼此重叠(显示 ID = TRUE/FALSE),参见图。但现在我只想绘制组 = 1 等包含的数据。最后,我想在一个方面方案中为每个组绘制一个图。
到目前为止,这是我的 ggplot:
ggplot(data, aes(x = as.factor(County),
y = Median,
ymin = Low,
ymax = High)) +
geom_crossbar(aes(color = ID, fill = ID, alpha = 1)) +
scale_fill_manual(values = c("gray79", "brown4")) +
scale_color_manual(values = c("gray50", "brown4")) +
theme_classic() +
scale_alpha(guide = "none") +
xlab("County") +
ylab("Variance") +
labs(fill = "Model") +
labs(color = "Model")
我不确定如何只绘制特定参数中包含的数据。有没有其他人遇到过这种情况?
您可以将 facet_wrap
/facet_grid
添加到您的代码中。
library(ggplot2)
ggplot(data, aes(x = as.factor(County),
y = Median,
ymin = Low,
ymax = High)) +
geom_crossbar(aes(color = ID, fill = ID, alpha = 1)) +
scale_fill_manual(values = c("gray79", "brown4")) +
scale_color_manual(values = c("gray50", "brown4")) +
theme_classic() +
scale_alpha(guide = "none") +
xlab("County") +
ylab("Variance") +
labs(fill = "Model") +
labs(color = "Model") +
facet_wrap(~group, scales = 'free')
我有一个数据框,其中包含中位数、第 1 和第 3 个百分位数、ID 和组。这是一些测试数据,但实际数据由 500 多行组成。
data <- data.frame( "County" = c(1,1,2,2,3,3), "Median" = c(5,7,8,2,4,5), "Low" = c(0.5,2,4,1,2,3), "High" = c(10,12,11,9,10,15), "ID" = c("TRUE", "TRUE", "FALSE", "TRUE", "FALSE", "FALSE"), "group" = c(1,1,2,2,3,3))
我将始终有一个“县”的副本,在我的情节中,我想显示两个 geom_crossbars 彼此重叠(显示 ID = TRUE/FALSE),参见图。但现在我只想绘制组 = 1 等包含的数据。最后,我想在一个方面方案中为每个组绘制一个图。
到目前为止,这是我的 ggplot:
ggplot(data, aes(x = as.factor(County),
y = Median,
ymin = Low,
ymax = High)) +
geom_crossbar(aes(color = ID, fill = ID, alpha = 1)) +
scale_fill_manual(values = c("gray79", "brown4")) +
scale_color_manual(values = c("gray50", "brown4")) +
theme_classic() +
scale_alpha(guide = "none") +
xlab("County") +
ylab("Variance") +
labs(fill = "Model") +
labs(color = "Model")
我不确定如何只绘制特定参数中包含的数据。有没有其他人遇到过这种情况?
您可以将 facet_wrap
/facet_grid
添加到您的代码中。
library(ggplot2)
ggplot(data, aes(x = as.factor(County),
y = Median,
ymin = Low,
ymax = High)) +
geom_crossbar(aes(color = ID, fill = ID, alpha = 1)) +
scale_fill_manual(values = c("gray79", "brown4")) +
scale_color_manual(values = c("gray50", "brown4")) +
theme_classic() +
scale_alpha(guide = "none") +
xlab("County") +
ylab("Variance") +
labs(fill = "Model") +
labs(color = "Model") +
facet_wrap(~group, scales = 'free')