Точная настройка vjust ggplot2

#r #ggplot2

Вопрос:

Я пытаюсь создать сюжет, похожий на этот: введите описание изображения здесь

Прямо сейчас я работаю над участком IL-b1 (поскольку он стоит первым в наборе данных) и применю настройки ко всем участкам.

В настоящее время я работаю над метками по оси x, но сталкиваюсь с проблемами vjust независимо от того, насколько малыми я их делаю. Вот изображение моего текущего кода:

введите описание изображения здесь

Есть какие-нибудь советы о том, как сделать метки ближе к оси x? Независимо от того, насколько я мал vjust , это не становится ближе…

Вот мой текущий код:

 il1b <- ggplot(data = mouse)  
  geom_violin(aes(x = Treatment, y = `IL-1b_fold`))  
  geom_jitter(aes(x = Treatment, y = `IL-1b_fold`))  
  theme_classic()  
  ggtitle(label = "IL-1u03b2")  
  ylab("fold mock control")  
  theme(plot.title = element_text(face = "bold"), 
        axis.title.x = element_text(face = "bold", size = 12),
        axis.title.y = element_text(face = "bold", size = 12),
        axis.text.x = element_text(face = "bold", angle = 45, size = 11, color = "black", vjust = -0.00001),
        axis.text.y = element_text(size = 11, color = "black")) 
  

        
setwd(output)
ggsave("il1b.png", il1b, width = 5, height = 5, units = "in")
 

output это сохраненный путь к файлу в выходном каталоге. Все это находится в блоке кода R Markdown.

Повторное отображение первых 10 obs в наборе данных:

 wrapr::build_frame(n   "GBM#"  , "Treatment", "IL-1b", "IL-6"    , "TNF-a", "IP-10"  , "IL-29", "IFN-a2", "IFN-b", "IL-10", "IFN-y", "IL-1b_fold", "IL-6_fold", "TNF-a_fold", "IP-10_fold", "IL-29_fold", "IFN-a2_fold", "IFN-b_fold", "IL-10_fold", "IFN-y_fold" |n     1     , "Mock"     , 484.4  , "2290.62" , 2055   , 951.4    , 433.4  , 567.8   , 400.4  , 2595   , 60.64  , 1           , 1          , 1           , 1           , 1           , 1            , 1           , 1           , 1            |n     1     , "PVSRIPO"  , 383.6  , "23233.55", 1555   , 9865     , 298.8  , 546.6   , 240.9  , 4816   , 136.4  , 0.792       , 10.14      , 0.7564      , 10.37       , 0.6894      , 0.9628       , 0.6017      , 1.856       , 2.249        |n     1     , "Poly(I:C)", 849.5  , "37969.47", 3451   , 1377     , 265    , 457.2   , 255.3  , 8435   , 53.69  , 1.754       , 16.58      , 1.679       , 1.448       , 0.6115      , 0.8052       , 0.6376      , 3.251       , 0.8854       |n     1     , "cGAMP"    , 472.2  , "12495.37", 4002   , 3.078e 04, 304.4  , 741.4   , 324.7  , 3411   , 42.48  , 0.9748      , 5.455      , 1.947       , 32.35       , 0.7024      , 1.306        , 0.8109      , 1.315       , 0.7005       |n     2     , "Mock"     , 23     , "2851.31" , 5.25   , 35.06    , 4.54   , 8.69    , 21.84  , 4.11   , 8.55   , 1           , 1          , 1           , 1           , 1           , 1            , 1           , 1           , 1            |n     2     , "PVSRIPO"  , 11.57  , "142.84"  , 16.69  , 6116     , 13.57  , 23.46   , 21.84  , 5.63   , 5.14   , 0.503       , 0.0501     , 3.179       , 174.5       , 2.989       , 2.7          , 1           , 1.37        , 0.6012       |n     2     , "Poly(I:C)", 28.41  , "158.04"  , 38.85  , 822.7    , 7.18   , 3.11    , 6.61   , 5.48   , 4.47   , 1.235       , 0.05543    , 7.4         , 23.47       , 1.581       , 0.3579       , 0.3027      , 1.333       , 0.5228       |n     2     , "cGAMP"    , 71.07  , "1166.8"  , 162.7  , 1794     , 8.08   , 7.72    , 22.55  , 25.62  , 9.94   , 3.09        , 0.4092     , 30.98       , 51.18       , 1.78        , 0.8884       , 1.033       , 6.234       , 1.163        |n     4     , "Mock"     , 8.67   , "1148.81" , 203.6  , 1.86     , 1.88   , 35.52   , 39.1   , 8.21   , 74.05  , 1           , 1          , 1           , 1           , 1           , 1            , 1           , 1           , 1            |n     4     , "PVSRIPO"  , 88.52  , "1997.02" , 551    , 211.4    , 1.88   , 35.52   , 39.1   , 4.71   , 74.05  , 10.21       , 1.738      , 2.706       , 113.6       , 1           , 1            , 1           , 0.5737      , 1            )n
 

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

1. Вопреки распространенному мнению, параметры hjust и vjust не предназначены для горизонтального и вертикального обоснования. Они предназначены для выравнивания направления текста и ортогонального направления. Они совпадают с выравниванием по горизонтали/вертикали тогда и только тогда, когда угол текста равен 0. Вероятно, вы добьетесь большего успеха, установив hjust = 1 его .

Ответ №1:

Большое спасибо @Daniel Molitor и @teunbrand! У меня было общее непонимание того, как vjust функционирует. Следующая настройка получила желаемый результат: vjust = 0.65

Вот код для пересмотренного вывода, который прилагается:

 il1b <- ggplot(data = mouse)  
  geom_violin(aes(x = Treatment, y = `IL-1b_fold`))  
  geom_jitter(aes(x = Treatment, y = `IL-1b_fold`))  
  theme_classic()  
  ggtitle(label = "IL-1u03b2")  
  ylab("fold mock control")  
  theme(plot.title = element_text(face = "bold"), 
        axis.title.x = element_text(face = "bold", size = 12),
        axis.title.y = element_text(face = "bold", size = 12),
        axis.text.x = element_text(face = "bold", angle = 45, size = 11, color = "black", vjust = 0.65),
        axis.text.y = element_text(size = 11, color = "black")) 
  

        
setwd(output)
ggsave("il1b.png", il1b, width = 5, height = 5, units = "in")
 

Пересмотренные результаты:

введите описание изображения здесь