Метки барплота слишком длинные, можно ли установить «ширину метки» - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь создать составной барплот, где beside = TRUE.Вот данные, использованные для создания этой фигуры:

significant <- c(27, 44, 25, 54, 40, 31, 25,  9, 57, 59)
annotated <- c(119, 267, 109, 373, 250, 173, 124,  20, 452, 478)
names <- c("mitochondrial gene expression","ncRNA metabolic process", 
           "mitochondrial translation", "translation", 
           "ribonucleoprotein complex biogenesis", "ribosome biogenesis", 
           "rRNA metabolic process", "transcription preinitiation complex asse...", 
           "peptide biosynthetic process", "amide biosynthetic process")
data = rbind(significant, annotated)
colnames(data) <- names
rownames(data) <- c("significant", "annotated")

Мой код построения:

printBarPlots <- function(input, main){
  data = rbind(input[,4], input[,3])

  colnames(data)= input[,2]
  rownames(data)=c("Significant", "Annotated")
  par(mar=c(5,9,4,2))
  mybar = barplot(data, width = 3, xlab = "Number of genes", main = main, 
                  horiz = T, cex.axis = 0.8, beside = TRUE, las = 1, 
                  cex.names = 0.8, legend = T, args.legend = list(x="right"))
}

barplot showing long margins on the left handside

При использовании этого кода метки стержней расширяютсядалеко слева от моего участка.Мой вопрос отличается от этого вопроса , потому что для разделения имен столбцов в каждом пространстве все равно потребуется небольшой cex.names.Можно ли указать, что вместо того, чтобы что-то наподобие «комплексной сборки инициации транскрипции ...» было написано в одну строку, его можно распределить по двум строкам, например, ниже, чтобы лучше использовать пространство?Или, может быть, какой-то код для разделения имен на разные строки после определенного количества букв (например, начало новой строки после 13 символов).

"преинициация транскрипции

сложная сборка ..."

...