gpt4 book ai didi

r - 当仅通过一个变量着色时,将两个分组变量的框分开

转载 作者:行者123 更新时间:2023-12-01 13:12:33 25 4
gpt4 key购买 nike

这是来自 geom_boxplot man page 的示例:

p = ggplot(mpg, aes(class, hwy))
p + geom_boxplot(aes(colour = drv))

看起来像这样:

enter image description here

我想制作一个非常相似的图,但使用( yearmon 格式化)日期,其中 class变量在示例中,并且是一个因子变量,其中 drv在示例中。

以下是一些示例数据:
df_box = data_frame(
Date = sample(
as.yearmon(seq.Date(from = as.Date("2013-01-01"), to = as.Date("2016-08-01"), by = "month")),
size = 10000,
replace = TRUE
),
Source = sample(c("Inside", "Outside"), size = 10000, replace = TRUE),
Value = rnorm(10000)
)

我尝试了很多不同的东西:
  • 放一个 as.factor围绕日期变量,然后我不再有 x 轴的间隔很好的日期比例:
        df_box %>% 
    ggplot(aes(
    x = as.factor(Date),
    y = Value,
    # group = Date,
    color = Source
    )) +
    geom_boxplot(outlier.shape = NA) +
    theme_bw() +
    xlab("Month Year") +
    theme(
    axis.text.x = element_text(hjust = 1, angle = 50)
    )

  • enter image description here
  • 另一方面,如果我使用 Date作为附加 group建议的变量 here , 添加 color不再有任何额外影响:
        df_box %>% 
    ggplot(aes(
    x = Date,
    y = Value,
    group = Date,
    color = Source
    )) +
    geom_boxplot() +
    theme_bw()

  • enter image description here

    关于如何在保持 yearmon 的同时实现 #1 的输出的任何想法缩放 x 轴?

    最佳答案

    由于您需要为 Date 的每个组合使用单独的框和 Source , 使用 interaction(Source, Date)group审美的:

    ggplot(df_box, aes(x = Date, y = Value, 
    colour = Source,
    group = interaction(Source, Date))) +
    geom_boxplot()

    plot with date formatted x-axis

    关于r - 当仅通过一个变量着色时,将两个分组变量的框分开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39809001/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com