ggplot2 geom_boxplot: не удается удалить тики по оси x и текст

#r #ggplot2

#r #ggplot2

Вопрос:

Все ссылки на удаление тиков оси и текста указывают на изменение элементов темы на пустые. У меня это не работает. Вот пример:

 p2 <- ggplot(data = sal_pH, aes(x = NULL, y = quant))  
    stat_boxplot(geom = "errorbar", width = 0.3)   
    geom_boxplot(# custom boxes
        color='#00008B',
        fill='#00008B',
        alpha=0.4,
        # custom outliers
        outlier.color='blue1',
        outlier.fill='white',
        outlier.size=2)  
    coord_flip()  
    theme_classic(axis.text.x=element_blank(),
                  axis.ticks.x=element_blank())  
    xlab('Salem')  
    ylab('pH')  
    ylim(6.0, 10.0)
 

R выдает эту ошибку:

 Error in theme_classic(axis.text.x = element_blank(), axis.ticks.x = element_blank()) (from all_pH_plots.r#30) : 
  unused arguments (axis.text.x = element_blank(), axis.ticks.x = element_blank())
 

Есть ли способ удалить тики по оси x и текст, используя классическую тему?

Комментарии:

1. Попробуйте с theme_classic() theme(axis.text.x = ....) помощью .

2. Можете ли вы предоставить нам пример использования ваших данных dput(sal_PH) ? Мы не можем воссоздать ваш график, чтобы помочь в противном случае

3. Может быть, попробовать ... theme_classic() theme(axis.text.x=element_blank(), axis.ticks.x=element_blank()) ...

4. Это то, что я сначала сделал, когда появилась ошибка. Вот почему я объединил две опции theme ().

5. site_nbr,sampdate,param,quant,unit 31731,2005-07-12 ,pH,7,60, без ценности 31731,2007-03-28 ,pH,6,90, без ценности 31731,2007-06-27 ,pH,7,90, без ценности 31731,2007-09-26 ,pH,7,70, без ценности 31731,2008-01-17 , рН, 6.70, без значения 31731,2008-03-27 ,pH,7,40, без ценности 31731,2010-04-05 ,pH,7,20, без ценности 31731,2010-04-05 ,pH,7,50, без ценности 31731,2010-07-26 ,pH,7,50, без ценности 31731,2010-10-18 ,pH,7,20,без ценности 31731,2011-01-10, pH, 7,30, без значения

Ответ №1:

Взглянув на theme_classic источник, мы видим, что это пользовательский вызов theme и theme_bw . Мы можем добавить axis.text.x=element_blank() axis.ticks.x=element_blank() и удалить тики. Я использовал mtcars dataset в качестве фиктивных данных.

 library(tidyverse)

theme_classic_custom <- function(base_size = 11, base_family = "", base_line_size = base_size / 22,
                                 base_rect_size = base_size / 22) {
  theme_bw(
    base_size = base_size, base_family = base_family,
    base_line_size = base_line_size, base_rect_size = base_rect_size
  ) % replace%
    theme(
      panel.border = element_blank(), panel.grid.major = element_blank(),
      panel.grid.minor = element_blank(), axis.text.x = element_blank(),
      axis.ticks.x = element_blank(),
      axis.line = element_line(
        colour = "black",
        size = rel(1)
      ), legend.key = element_blank(),
      strip.background = element_rect(
        fill = "white", colour = "black",
        size = rel(2)
      ), complete = TRUE
    )
}


as_tibble(mtcars) %>% 
 
  ggplot(aes(x = mpg, y = hp))  
  theme_classic_custom()  
  geom_point()
 

Создано 2021-12-01 пакетом reprex (v2.0.1)

Комментарии:

1. jpdugo17: я правильно скопировал ваш код, но он не работает в моем скрипте. Я работаю с клиентскими данными и хотел бы связаться с вами напрямую, чтобы узнать, почему это здесь не работает.