Имена, вырезанные по оси x боксплота - PullRequest
1 голос
/ 16 апреля 2020

Я пытаюсь сохранить блок-график в формате .tiif, используя следующий код:

sample_01 <- c(6, 1, 6, 8, 9, 8, 7, 3, 4, 9)
sample_02 <- c(13, 17, 16, 22, 18, 14, 20, 20, 11, 19)
sample_03 <- c(25, 23, 26, 29, 29, 22, 30, 27, 26, 21)
sample_04 <- c(31, 37, 40, 36, 33, 34, 31, 32, 37, 35)
sample_05 <- c(41, 44, 43, 47, 45, 50, 41, 45, 43, 50)

tiff(file = "temp.tiff", width = 3200, height = 3200, units = "px", res = 300)
box <- boxplot(sample_01,sample_02,sample_03,sample_04,sample_05,
               names = c("sample_01","sample_02","sample_03","sample_04","sample_05"),
               ylab = 'Relative Abundance (%)',
               ylim = c(0,55),
               col = c('red','green','blue','orange','purple'),
               las=2,
               cex.axis = 1.5,
               cex.lab = 1.5
)
dev.off()

Однако имена переменных всегда обрезаются по оси x графика. Я пытался использовать параметр par(mar = c ()) несколькими различными способами, но мне не удалось решить проблему. Я также изменил значения высоты и ширины, но безуспешно. Как мне поступить так, чтобы имена по оси х сохранялись целиком. enter image description here

Ответы [ 2 ]

1 голос
/ 16 апреля 2020

dc37, вы заметили, что совершили ошибку. В моем сценарии я использовал команду par(mar=c()) до tiff(), и это приводило к ошибке на графике с примером ниже:

par(mar = c(8,5,2,2))
tiff(...)
boxplot(...)
dev.off()

Поэтому при сохранении изображения команда par(mar=c()) должен прийти после tiff(), чтобы быть в порядке. Как я покажу ниже:

tiff(...)
par(mar = c(8,5,2,2))
boxplot(...)
dev.off()
0 голосов
/ 16 апреля 2020

Вы можете установить маржу вашего графика, используя par(mar = c(bottom,left,top,right)).

Как указано @AndersonNBarbosa, par(mar(...) необходимо указывать после tiff(...):

tiff(file = "temp.tiff", width = 3200, height = 3200, units = "px", res = 300)
par(mar = c(8,5,2,2))
box <- boxplot(sample_01,sample_02,sample_03,sample_04,sample_05,
               names = c("sample_01","sample_02","sample_03","sample_04","sample_05"),
               ylab = 'Relative Abundance (%)',
               ylim = c(0,55),
               col = c('red','green','blue','orange','purple'),
               las=2,
               cex.axis = 1.5,
               cex.lab = 1.5
)
dev.off()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...