R中同一图上的两个直方图
Two histograms on the same plot in R
我有以下形式的数据。
v1 v2
t1 2.2
t1 3.2
t1 2.2
t1 2.2
t1 4.0
t2 3.8
t2 2.0
t2 2.1
t2 2.0
t2 3.0
我想要 v2
的直方图用于同一图上 v1
的类别(使用密度)。有人可以帮帮我吗?
您可以尝试使用 ggplot2
和 facet_wrap()
的分面方法。我们将使用 geom_density()
来获得密度。这里的代码:
library(ggplot2)
library(dplyr)
数据
#Data
df <- structure(list(v1 = c("t1", "t1", "t1", "t1", "t1", "t2", "t2",
"t2", "t2", "t2"), v2 = c(2.2, 3.2, 2.2, 2.2, 4, 3.8, 2, 2.1,
2, 3)), class = "data.frame", row.names = c(NA, -10L))
代码
#Code for plot
df %>%
ggplot(aes(x=v2,color=v1))+
geom_density()+
facet_wrap(.~v1)
输出
或者如果你只想要一个情节,这里的代码:
#Code for plot 2
df %>%
ggplot(aes(x=v2,color=v1,group=v2))+
geom_density()
输出
或者同时使用 geom_histogram()
和 geom_density()
:
#Code for plot 3
df %>%
ggplot(aes(x=v2,color=v1,fill=v1))+
geom_histogram()+
geom_density(alpha=0.5)+
facet_wrap(.~v1)
输出
或者如果你想要一个情节:
#Code for plot 4
df %>%
ggplot(aes(x=v2,color=v1,fill=v1,group=v1))+
geom_histogram()+
geom_density(alpha=0.5)
输出
也许,我们可以用geom_histogram
library(ggplot2)
ggplot(df1, aes(x = v2)) +
geom_histogram() +
facet_grid(~ v1)
或者另一种选择是 ggpubr
library(ggpubr)
gghistogram(df1, x = "v2", add = "mean", rug = TRUE,
fill = "v1", add_density = TRUE)
或 geom_density
和 fill
的另一个选项
ggplot(df1, aes(x = v2, fill = v1)) +
geom_density() +
facet_grid(~ v1)
数据
df1 <- structure(list(v1 = c("t1", "t1", "t1", "t1", "t1", "t2", "t2",
"t2", "t2", "t2"), v2 = c(2.2, 3.2, 2.2, 2.2, 4, 3.8, 2, 2.1,
2, 3)), class = "data.frame", row.names = c(NA, -10L))
我有以下形式的数据。
v1 v2
t1 2.2
t1 3.2
t1 2.2
t1 2.2
t1 4.0
t2 3.8
t2 2.0
t2 2.1
t2 2.0
t2 3.0
我想要 v2
的直方图用于同一图上 v1
的类别(使用密度)。有人可以帮帮我吗?
您可以尝试使用 ggplot2
和 facet_wrap()
的分面方法。我们将使用 geom_density()
来获得密度。这里的代码:
library(ggplot2)
library(dplyr)
数据
#Data
df <- structure(list(v1 = c("t1", "t1", "t1", "t1", "t1", "t2", "t2",
"t2", "t2", "t2"), v2 = c(2.2, 3.2, 2.2, 2.2, 4, 3.8, 2, 2.1,
2, 3)), class = "data.frame", row.names = c(NA, -10L))
代码
#Code for plot
df %>%
ggplot(aes(x=v2,color=v1))+
geom_density()+
facet_wrap(.~v1)
输出
或者如果你只想要一个情节,这里的代码:
#Code for plot 2
df %>%
ggplot(aes(x=v2,color=v1,group=v2))+
geom_density()
输出
或者同时使用 geom_histogram()
和 geom_density()
:
#Code for plot 3
df %>%
ggplot(aes(x=v2,color=v1,fill=v1))+
geom_histogram()+
geom_density(alpha=0.5)+
facet_wrap(.~v1)
输出
或者如果你想要一个情节:
#Code for plot 4
df %>%
ggplot(aes(x=v2,color=v1,fill=v1,group=v1))+
geom_histogram()+
geom_density(alpha=0.5)
输出
也许,我们可以用geom_histogram
library(ggplot2)
ggplot(df1, aes(x = v2)) +
geom_histogram() +
facet_grid(~ v1)
或者另一种选择是 ggpubr
library(ggpubr)
gghistogram(df1, x = "v2", add = "mean", rug = TRUE,
fill = "v1", add_density = TRUE)
或 geom_density
和 fill
ggplot(df1, aes(x = v2, fill = v1)) +
geom_density() +
facet_grid(~ v1)
数据
df1 <- structure(list(v1 = c("t1", "t1", "t1", "t1", "t1", "t2", "t2",
"t2", "t2", "t2"), v2 = c(2.2, 3.2, 2.2, 2.2, 4, 3.8, 2, 2.1,
2, 3)), class = "data.frame", row.names = c(NA, -10L))