Line break in expression ()?

Ho il seguente istogramma in R:

hist(alpha,cex.main=2,cex.axis=1.2,cex.lab=1.2, main=expression(paste("Histogram of ",hat(mu), ", Bootstrap samples, Allianz"))) 

Il titlle è troppo lungo, quindi voglio un’interruzione di riga. Secondo questo thread ho provato

 hist(alpha,cex.main=2,cex.axis=1.2,cex.lab=1.2, main=expression(paste("Histogram of ",hat(mu), ",cat("\n") Bootstrap samples, Allianz"))) 

o

 hist(alpha,cex.main=2,cex.axis=1.2,cex.lab=1.2, main=expression(paste("Histogram of ",hat(mu), cat("\n"),", Bootstrap samples, Allianz"))) 

Ma entrambi non funzionano, come posso ottenere un’interruzione di riga in paste ()?

Puoi facilmente utilizzare le interruzioni di riga nella copia regolare, ma questa è la paste plotmath (in realtà una funzione diversa anche senza argomento ‘sep’) e la pagina ?plotmath (lunga) specifica in modo specifico che non è ansible ?plotmath . Allora, qual è il modo di aggirare? L’uso della funzione plotmath in atop è una semplice opzione:

 expression(atop("Histogram of "*hat(mu), Bootstrap~samples*','~Allianz)) 

Questo si interromperà alla virgola e centrerà le espressioni plotmath. Sono disponibili opzioni più complicate.

Questo illustra il disegno su un file grafico. Ironia della sorte, il primo sforzo mi ha dato un display che ha avuto il tuo problema con il ‘cappello’ (sono quei circonflittenti?) Tagliato fuori e questo mostra come aumentare i margini. Il margine superiore è probabilmente il terzo numero, quindi c (3,3,8,0) potrebbe adattarsi meglio a voi:

  pdf("test.pdf") ; par(mar=c(10,10,10,10)) hist(1:10,cex.main=2,cex.axis=1.2,cex.lab=1.2, main=expression(atop("Histogram of "*hat(mu), Bootstrap~samples * ',' ~Allianz))) dev.off() # don't need to restore; this 'par' only applies to pdf() 

Avrai bisogno di usare qualcos’altro. Sono stato indirizzato a utilizzare bquote e bquote quando ero bloccato su un problema simile .

 alpha = rnorm(1e3) hist(alpha,cex.main=2,cex.axis=1.2,cex.lab=1.2,main=NULL ) title <- list( bquote( paste( "Histogram of " , hat(mu) ) ) , bquote( paste( "Bootstrap samples, Allianz" ) ) ) mtext(do.call(expression, title ),side=3, line = c(1,-1) , cex = 2 ) 

Nell'esempio sopra, il title ( grazie a @hadley ) può essere semplificato in

 title <- as.list(expression(paste("Histogram of " , hat(mu)), "Bootstrap samples, Allianz")) 

inserisci la descrizione dell'immagine qui