Как установить расстояние между осями текста в графике R, не используя заголовок и текст? - PullRequest
1 голос
/ 05 марта 2020

Я ставлю вместе 15 графиков с функцией par. Проблема в том, что я не могу установить расстояние заголовка от верхней оси графиков. На самом деле каждый график имеет заголовок слишком близко к верхней оси.

Я пытаюсь использовать аргумент mar в функции par, но он не работает. Но, например, cex.main аргумент для размера заголовка работает. Как я могу установить расстояние заголовка от верхней оси?

Я уже читал об использовании функций title или mtext, но я должен избегать их использования, потому что я использую for l oop на линии графика, чтобы построить 15 переменных с одной линией и объединить их с функцией 'par'. Я уже пробовал, если я использую title или mtext для установки текста заголовка, они работают только для последнего графика, последнего из l oop. Может быть, есть способ использовать title или mtext с l oop на графике, но я не знаю как. Я надеюсь, что вы понимаете проблему.

Как появляются заголовки на верхней оси How appear titles on the top axis

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

Начальный набор данных

structure(c(-0.322237443892839, 0.161789861737245, -0.282562534820935, 
-0.25424683208082, -0.259238297819659, -0.588115307575363, -0.170089596361983, 
0.133764670772236, -0.136543241076998, -0.132742895064731, -0.453971753822024, 
-0.0484711446567853, -0.27953600157388, -0.468459003414809, -0.255322689071146, 
0.217651987645887, 0.221472492114085, -0.401231971742935, 0.157037417398378, 
0.384059018253568, 0.171821179673259, 0.239552559816231, -0.278429725475918, 
-0.420437810679651, -0.215328948866159, -0.287310214334936, -0.275739086804379, 
0.403972971818474, 0.274743078665728, 0.246605637402898, 0.267120005514042, 
0.276023917133903, -0.252799241134603, 0.092373911821187, 0.235510208843125, 
-0.605062748251485, -0.345240248134856, 0.362487256397189, -0.180711585509626, 
-0.223826280434943, -0.0525631620091461, 0.338460608474323, 0.224583788801295, 
0.536214131347007, 0.133547702598715, -0.333334973012602, 0.305004985920743, 
0.470781195933839, 1.22134562554239, 1.56844544565986, 0.772580607298005, 
-0.0199651879630767, 1.46266479689702, 0.0966653263169418, -0.864168809400028, 
-0.864179388471044, -0.864177877175184, -0.864180899766903, -0.864176365879325, 
-0.8641884562462, -1.75348221807367, -1.83784316300396, -1.87211479688189, 
-1.93538550557961, -2.07774460014948, -2.07774460014948, -1.19675824922347, 
-1.20079873516416, -1.18246979705117, -1.19228273612708, -1.22456058732531, 
-1.23721762021624, -0.0285485437185394, 0.580463137050019, 0.925574527286982, 
0.534238499345519, 0.556521230080963, 0.51386899109342, -1.0175436256117, 
-1.0175436256117, -1.0175436256117, -1.0175436256117, -1.0175436256117, 
-1.0175436256117, -1.3369771887616, -1.3369771887616, -1.3369771887616, 
-1.3369771887616, -1.3369771887616, -1.3369771887616), .Dim = c(6L, 
15L), .Dimnames = list(c("1", "2", "3", "4", "5", "6"), c("mz33_fluxmax", 
"mz45_fluxmax", "mz47_fluxmax", "mz59_fluxmax", "mz61_fluxmax", 
"mz69_fluxmax", "mz99_fluxmax", "mz101_fluxmax", "mz137_fluxmax", 
"PAR", "Tair", "VPD", "NEE", "AGB", "GAI")))

Часть кода для воспроизведения окончательного набора данных

cioffisom1=as.matrix(scale(cioffisom1))
som_grid <- somgrid(xdim = 40, ydim=40, topo="rectangular")
som_model <- som(cioffisom1, 
                 grid=som_grid, 
                 rlen=1000, 
                 alpha=c(0.05,0.01), 
                 keep.data = TRUE)

Вот часть кода, которую я уже пробовал:

par(mar=c(5,4,6,2)+0.1,mfcol = c(3, 5),cex.main=2)

for (i in 1:15)

plot(som_model, type = "property", property = getCodes(som_model[,i],
main=colnames(getCodes(som_model))[i],palette.name=coolBlueHotRed)
...