R - Boxplot x-axis без галочек и в комплекте - PullRequest
0 голосов
/ 26 мая 2018

Я хочу создать блокпост, который просто имеет ось X без тиков и нарисован полностью, как в этом примере: target

До сих пор я мог создать что-то вроде этого: текущая ситуация

Вызов выглядит так:

#load data
deckung_BS1 <- read.csv(file.choose(), header=T, sep=';', check.names = FALSE)

#draw boxplot without x-axis
boxplot(deckung_BS1, main="Deckung Baumschicht 1", ylab="Deckung [%]", boxwex=.5, xaxt='n', frame=FALSE)

#put x-axis without ticks
axis(side = 1,at = 1:3,labels=c("1960 (n=19)", "2002 (n=19)", "2012 (n=19)"),lwd.ticks = FALSE)

Итак, вопрос в том, как я могу нарисовать полную линию для оси х без отметок?

Ответы [ 2 ]

0 голосов
/ 26 мая 2018

Вот решение base R:

boxplot(data.frame(a = rnorm(10), b = rnorm(10), c = rnorm(10)), xaxt='n', frame=FALSE)
axis(side = 1,at = 0:4,labels=c("", "a", "b", "c", ""),lwd.ticks = FALSE)

enter image description here

Ключ заключается в добавлении пустых меток слева и справа от ваших фактических данных..

Редактировать после комментария

Если не указано иное, оси вычисляются.Прочитайте ?barplot для деталей.Если вы хотите, чтобы ваш y-axis заканчивался на x-axis, вы должны указать диапазон, который «ниже», чем x-axis.

set.seed(2)
boxplot(data.frame(a = rnorm(10), b = rnorm(10), c = rnorm(10)), xaxt='n', yaxt='n', frame=FALSE)
axis(side = 1,at = 0:4,labels=c("", "a", "b", "c", ""),lwd.ticks = FALSE)
axis(side = 2,at = -3:2)

Обратите внимание, что «диапазон» y-axis установлен на -3:2, в то время как данные (и область построения оканчиваются на -2.

enter image description here

0 голосов
/ 26 мая 2018

Вот решение ggplot:

library(ggplot2) 

ggplot(data = mpg, aes(x = class, y = hwy)) + 
  geom_boxplot() +
  theme(panel.grid = element_blank(),
        panel.background = element_blank(),
        panel.border = element_rect(colour = "black", fill=NA, size=1),
        axis.ticks.x = element_blank())

boxplot

В частности, axis.ticks.x = element_blank() снимает галочки.Другие элементы темы не являются строго необходимыми, чтобы ответить на ваш вопрос, они просто аппроксимируют простой белый фон и черную рамку базовой функции R boxplot().

В вашем случае используйте data = deckung_BS1, а затем укажитекакими бы ни были ваши x и y переменные в ваших данных.

Подробнее см. geom_boxplot() документы.

...