Сетка в задней части бокса в R - PullRequest
2 голосов
/ 16 апреля 2020

Я хочу добавить сетку к своему boxplot, если я использую grid, то сетка окажется перед моим графиком. Как я могу положить эту сетку в спину?

enter image description here

Я использую следующий код

library(dplyr)
input <- mtcars[,c('mpg','cyl')]
print(head(input))
boxplot(mpg ~ cyl, data = mtcars, xlab = "Number of Cylinders",
        ylab = "Miles Per Gallon")
grid(nx=16, ny=16)

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

Вы можете использовать ggplot2:

library(ggplot2)

ggplot(data = mtcars, aes(x=factor(cyl), y=mpg)) +
  geom_boxplot() +
  xlab("Number of Cylinders") +
  ylab("Miles Per Gallon") +
  theme_bw()

enter image description here

Вертикальные линии сетки кажутся избыточными.

1 голос
/ 16 апреля 2020

Вероятно, он не самый элегантный способ, но вы можете сначала нарисовать блокпост без цветовой границы, маркировки осей и рамки, добавить сетку, а затем добавить блокпост, используя аргумент add = TRUE:

boxplot(mpg ~ cyl, data = mtcars, xlab = "Number of Cylinders",
        ylab = "Miles Per Gallon", border = NA, 
        xaxt='n', yaxt = "n", frame = FALSE)
grid(nx=16, ny=16)
boxplot(mpg ~ cyl, data = mtcars, xlab = "Number of Cylinders",
        ylab = "Miles Per Gallon", add = TRUE, ann = FALSE)

enter image description here

Отвечает ли он на ваш вопрос?

...