2013-10-11 3 views
4

Я относительно новичок в ggplot, поэтому прошу прощения, если это легко, но я ничего не нашел в Интернете.Удаление некоторых тиковых меток в ящиках в ggplot2

Я хочу показать 29 ящиков (пронумерованных от 1.1 до 4.0) рядом друг с другом в ggplot2 (что я могу сделать), но как только я сделаю тик-метку соответствующим размером (что я могу сделать), метки перекрываются, а я только хочу несколько (1,5, 2, 2,5 и т. д.) в любом случае. Как удалить только некоторые ярлыки меток? Кроме того, во всяком случае, я могу включить галочку в 1.0, чтобы мои ярлыки были хорошими, круглыми цифрами?

Мои данные - это список, который я «расплавил», так как каждый ящик имеет различное количество наблюдений.

Мой текущий код:

list = list(data11, data12, ... data39, data40) # Elipse denotes the rest of the sequence 
df = melt(list) 

ggplot(df, aes(factor(variable), value)) + 
    geom_boxplot(outlier.size=1.5, colour="black") + 
    xlab("Xlabel") + 
    ylab("Ylabel") + 
    theme_classic() + 
    theme(
     axis.text.x = element_text(size=12), 
     axis.text.y = element_text(size=12), 
     axis.title.x = element_text(size=14), 
     axis.title.y = element_text(size=14, angle=90), 
     axis.line = element_line(size=0.75) 
    ) 

ответ

4

Это не сложный вопрос, на самом деле. Ключевую идею можно легко найти here.

В принципе, вам не хватает одной строки кода. Поскольку вы не делились выборкой своих данных (стыдно за вас! См. this), я сгенерировал некоторые. Вот решение:

df.so1 <- runif(10); df.so2 <- runif(10); df.so3 <- runif(10) 
list.so = list(df.so1, df.so2, df.so3) 
df.so = melt(list.so) 

ggplot(df.so, aes(factor(L1), value)) + 
    geom_boxplot(outlier.size=1.5, colour="black") + 
    xlab("Xlabel") + ylab("Ylabel") + 
    theme_classic() + 
    theme(
    axis.text.x = element_text(size=12), 
    axis.text.y = element_text(size=12), 
    axis.title.x = element_text(size=14), 
    axis.title.y = element_text(size=14, angle=90), 
    axis.line = element_line(size=0.75) 
) + 
    scale_x_discrete(breaks = c(1,3)) 

Обратите внимание, что у вас есть полный контроль над осью, клещи, отметьте метки и т.д. См ggplot2 documentation для более.

Обновление.

Не забудьте проверить связанные вопросы перед публикацией: bump1,bump2.

Смежные вопросы