Как построить многоугольную фигуру / точку на нескольких гистограммах в ggplot2? [Дубликат]

Как отметил @Matt, Python 3.6 предоставляет f-строки , и они также могут использовать вложенные параметры :

value = 2.34558
precision = 2
width = 4

print(f'result: {value:{width}.{precision}f}')

, которые будут дисплей result: 2.35

24
задан Sandy Muspratt 8 May 2012 в 12:47
поделиться

2 ответа

EDIT: Лучшее решение с ggplot2 версии 1.0.0 с помощью position_jitterdodge. См. Ответ @Didzis Elferts. Обратите внимание, что dodge.width управляет шириной уклонения, а jitter.width управляет шириной дрожания.

Я не уверен, как код создавал график в pdf.

Но что-то вроде этого приближает вас к тому, что вам нужно?

Преобразуем tailindex и memorypar в числовые; добавьте их вместе; и результатом является координата x для слоя geom_jitter. Вероятно, есть более эффективный способ сделать это. Кроме того, я хотел бы видеть, как уклонение geom_boxplot и geom_jitter и без дрожания приведет к созданию графика в pdf.

library(ggplot2)
dodge <- position_dodge(width = 0.9)
ex5$memorypar2 <- as.numeric(ex5$tailindex) + 
  3 * (as.numeric(as.character(ex5$memorypar)) - 0.2) 

p <- ggplot(ex5,aes(x=tailindex , y=hillest)) +
   scale_x_discrete() +
   geom_jitter(aes(colour = memorypar, x = memorypar2), 
     position = position_jitter(width = .05), alpha = 0.5) +
   geom_boxplot(aes(colour = memorypar), outlier.colour = NA, position = dodge) +
   facet_wrap(~ process, nrow = 2)
p

enter image description here [/g0]

30
ответ дан Sandy Muspratt 26 August 2018 в 08:33
поделиться

В версии ggplot2 1.0.0 есть новая позиция с именем position_jitterdodge(), созданная для такой ситуации. Это положение должно использоваться внутри geom_point(), и внутри aes() должно быть fill=, чтобы показать, какой переменной уклониться от ваших данных. Для управления шириной аргумента уклонения dodge.width= следует использовать.

ggplot(ex5,aes(x=tailindex ,y=hillest,color=memorypar,fill=memorypar))  + 
      facet_wrap(~process,nrow=2) + 
      geom_point(position=position_jitterdodge(dodge.width=0.9)) +
      geom_boxplot(fill="white",outlier.colour = NA, 
                        position = position_dodge(width=0.9))

enter image description here [/g0]

48
ответ дан Didzis Elferts 26 August 2018 в 08:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: