我们如何通过将一个密度图保持不变(在所有方面)用于比较场景来在 ggplot2 中创建多个密度图?
How can we create multiple density plots in ggplot2 by keeping one density plot as constant (in all facets) for the comparison scenario?
我有与不同类型车辆(比如汽车、摩托车、卡车、公共汽车等)相关的速度数据,我想展示这些不同类型车辆的速度与速度相比有何不同汽车.
例如:在上述情况下,应创建 3 个面来显示密度(比较即(汽车与摩托车、汽车和卡车、汽车和公共汽车)
提前致谢..!!!
如评论中所述,您需要创建一个额外的 dataframe
,它将为您的构面的每个成员显示相同的密度图。让我们以 diamonds
数据集为例,我们将 "Fair"
削减作为我们的基线:
# We use expand.grid to crate new data with same values for all levels
fair_data <- expand.grid(carat = diamonds$carat[diamonds$cut == "Fair"],
cut = levels(diamonds$cut)[-1]) # We omit "Fair"
# Plug into ggplot
ggplot(subset(diamonds, cut != "Fair"),
aes(carat, colour = cut)) +
geom_density() +
geom_density(data = fair_data, colour = "black") +
facet_wrap(~cut)
我有与不同类型车辆(比如汽车、摩托车、卡车、公共汽车等)相关的速度数据,我想展示这些不同类型车辆的速度与速度相比有何不同汽车.
例如:在上述情况下,应创建 3 个面来显示密度(比较即(汽车与摩托车、汽车和卡车、汽车和公共汽车)
提前致谢..!!!
如评论中所述,您需要创建一个额外的 dataframe
,它将为您的构面的每个成员显示相同的密度图。让我们以 diamonds
数据集为例,我们将 "Fair"
削减作为我们的基线:
# We use expand.grid to crate new data with same values for all levels
fair_data <- expand.grid(carat = diamonds$carat[diamonds$cut == "Fair"],
cut = levels(diamonds$cut)[-1]) # We omit "Fair"
# Plug into ggplot
ggplot(subset(diamonds, cut != "Fair"),
aes(carat, colour = cut)) +
geom_density() +
geom_density(data = fair_data, colour = "black") +
facet_wrap(~cut)