尝试区分雨云图中的线条

问题描述 投票:0回答:1

我已经使用 raincloudplots 和 mtcars 数据集成功创建了雨云图。数组 1 是变量 mpg,数组 2 是每个 ID 内的 qsec。我还创建了一个变量 $Direction,如果 mpg 大于 qsec,则为 1;如果小于 qsec,则为 2。这样,如果使用 ifelse 代码使线条处于向上或向下方向,我可以使用此变量对线条进行不同的颜色。这个变量是正确的,我在 Excel 中仔细检查了它,但线条没有相应地着色。我已在此处附上代码,请告诉我是否可以以某种方式使其更容易理解。谢谢!

Here's the plot Here's the data

library(raincloudplots) 

mtcars <- data_1x1(
  array_1 = mtcars$mpg,
  array_2 = mtcars$qsec,
  jit_distance = .09,
  jit_seed = 321)

head(mtcars)
tail(mtcars)

raincloud_2 <- raincloud_1x1_repmes(
  data = mtcars,
  colors = (c('#F6C337', '#68D2D5')),
  fills = (c('#F6C337', '#68D2D5')),
  line_alpha = .3,
  line_color= ifelse(mtcars$Direction > 1,  'black', 'gray'), 
  size = 1,
  alpha = .6,
  align_clouds = FALSE) +
  
  scale_x_continuous(breaks=c(1,2), labels=c("mpg", "qsec"), limits=c(0, 3)) +
  scale_y_continuous(breaks=c(1,5,10,15,20,25), limits=c(0, 25)) +
  ylab("Value") +
  xlab("")+
  theme_classic()

raincloud_2

二手

line_color= ifelse(mtcars$方向 > 1, '黑色', '灰色')

期望向下的方向线是黑色的,但我得到了各种各样的彩色线。

r ggplot2 plot
1个回答
0
投票

我认为没有一个选项可以为函数本身内的线条着色。我认为您需要修改生成的 ggplot 对象:

library(raincloudplots) 
library(tidyverse)

mtcars <- data_1x1(
  array_1 = mtcars$mpg,
  array_2 = mtcars$qsec,
  jit_distance = .09,
  jit_seed = 321)

raincloud_2 <- raincloud_1x1_repmes(
  data = mtcars,
  colors = (c('#F6C337', '#68D2D5')),
  fills = (c('#F6C337', '#68D2D5')),
  line_alpha = .3,
  size = 1,
  alpha = .6,
  align_clouds = FALSE) +
  scale_x_continuous(breaks=c(1,2), labels=c("mpg", "qsec"), limits=c(0, 3)) +
  scale_y_continuous(breaks=c(1,5,10,15,20,25), limits=c(0, 25)) +
  ylab("Value") +
  xlab("")+
  theme_classic()

raincloud_2$data <- raincloud_2$data %>%
  mutate(Direction = ifelse(last(y_axis) - first(y_axis) > 0, "up", "down"),
                            .by = id)
raincloud_2$layers[[3]]$aes_params$colour <- NULL
raincloud_2$layers[[3]]$mapping <- aes(jit, y_axis, group = id, 
                                       color = Direction)

raincloud_2 + scale_color_manual(values = c(up = "gray", down = "black"))

© www.soinside.com 2019 - 2024. All rights reserved.