Настроить r beeswarm plot

Я использую пакет beeswarm в R и испытываю некоторые проблемы с настройкой отдельных точек данных. Я использую данные и код ниже.

 library(beeswarm)
 df <- data.frame(x = c(LETTERS), y = "1", 
 z = c(rnorm(26, 11, 4)))
 beeswarm(z ~ y, data = df,
     pwcol = c(1, rep(2, 25)), pwpch = c(1, rep(2, 25)), corral = "wrap", method = "center", 
     xlab = "", ylab = "variable", las=1
     )

Я хотел бы изменить это так, чтобы:

  1. Отдельный черный круг становится черным ромбом с красной заливкой.
  2. Все точки данных красного треугольника становятся темно-серыми кружками без заливки (открытыми).

Может ли кто-нибудь помочь, пожалуйста? Спасибо.


person Sylvia Rodriguez    schedule 04.08.2020    source источник


Ответы (1)


Вы почти у цели, вам просто нужно внести несколько небольших изменений:

library(beeswarm)
df <- data.frame(x = c(LETTERS), y = "1", 
                 z = c(rnorm(26, 11, 4)))
beeswarm(z ~ y, data = df,
         pwcol = c("black", rep("grey15", 25)),
         pwpch = c(23, rep(1, 25)),
         pwbg = c("red", rep("transparent", 25)),
         corral = "wrap", method = "center", 
         xlab = "", ylab = "variable",
         las=1
)
person jared_mamrot    schedule 04.08.2020
comment
Это потрясающе! Большое спасибо! Можно ли сделать бриллиант больше? Я пробовал вставить cex = c(10, rep(1, 25)), но тут возникает ошибка: the parameter "cex" must have length 1. - person Sylvia Rodriguez; 04.08.2020
comment
Извините, @ sylvia-rodriguez, я не знаю, как это сделать, не меняя размер всех точек. Может быть способ использовать вариант with(df, symbols(x = y, y = z, circles = c(0.01, rep(NA, 25)), add = TRUE)) после участка пчелиного прогрева, но вам нужно будет настроить его под свои нужды. - person jared_mamrot; 04.08.2020
comment
Большое тебе спасибо. Я постараюсь. В противном случае я могу задать новый вопрос :) - person Sylvia Rodriguez; 07.08.2020