Вертикальная прямоугольная диаграмма с решеткой и панелью .bpplot - PullRequest
3 голосов
/ 08 ноября 2011

Я рисую графики ячеек процентиля в R, используя функцию панели ячеек процентиля из Hmisc (panel.bpplot) и bwplot из lattice.

У меня есть числовой вектор (Length), и я хотел бы показать его распределение по уровням факторной переменной (Month).

Вот пример с поддельными данными:

Например,

set.seed(13)
Length<-sample(1:10, 1000, replace=TRUE)
Month<-sample(c("Apr","May","Jul","Aug","Sep","Nov"), 1000, replace=TRUE)

df<-cbind(Month, Length)
df<-as.data.frame(df)   
df$Month<-factor(df$Month, levels=c("Apr","May","Jul","Aug","Sep","Nov"))
df$Length<-as.numeric(df$Length)

#plot horizontal box-percentile plot; 
bwplot(Month~Length, data=df, panel=panel.bpplot)

Это отлично работает. Но я хочу, чтобы графики были вертикальными , с Month на оси X и Length на оси Y. В документации для panel.bpplot говорится, что горизонтальные графики делают уровни категорий более заметными, но для моих целей мне особенно нужен вертикальный график. Есть ли способ изменить panel.bpplot, чтобы сделать это?

1 Ответ

7 голосов
/ 08 ноября 2011

Я взял несколько советов из этого предыдущего вопроса , а затем объединил его с вашим кодом. Кажется, что «трюк» заключается в настройке вращаемой сетки:

require(grid)
grid.newpage()
pushViewport(viewport(angle = 90, name = "VP"))
print(
    bwplot(Month~Length, data=df, panel=panel.bpplot, draw.in = "VP"
    ),
    newpage=FALSE
)

, что приводит к:

enter image description here

...