#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")
Пересмотренные результаты: