Combinando `expression ()` con `\ n`

Ho un ggplot in cui ho usato expression(phantom(x) >=80) nel testo dell’etichetta per ottenere un vero e proprio simbolo più o meno uguale.

Tuttavia ho anche bisogno di avere (N = …) immediatamente sotto:

 require(ggplot2) .d <- data.frame(a = letters[1:6], y = 1:6) labs =80)) ggplot(.d, aes(x=a,y=y)) + geom_point() + scale_x_discrete(labels = labs) 

inserisci la descrizione dell'immagine qui

Come posso combinare expression() con l’escape \n ?

    Come ha detto @otsaw nella sua risposta alla tua domanda precedente , plotmath (e quindi expression ) non consente interruzioni di riga.
    Tuttavia, come trucco, puoi usare in atop per far apparire ≥80 sopra (N=10) . Ma come vedrai presto non corrisponde alle altre etichette:

     labs <- c("0-9\n(N=10)","10-29\n(N=10)","30-49\n(N=10)", "50-64\n(N=10)","65-79\n(N=10)", expression(atop(phantom(x) >=80, (N==10)))) 

    inserisci la descrizione dell'immagine qui

    Quindi, come ulteriore modifica, puoi passare le altre etichette come espressioni:

     labs <- c(expression(atop(0-9,(N==10))),expression(atop(10-29,(N==10))), expression(atop(30-49,(N==10))), expression(atop(50-64,(N==10))), expression(atop(65-79,(N==10))), expression(atop(phantom(x) >=80, (N==10)))) 

    inserisci la descrizione dell'immagine qui

    Ma ovviamente hai la soluzione @otsaw (usando Unicode) che è notevolmente meno prolisso:

     labs <- c("0-9\n(N=10)","10-29\n(N=10)","30-49\n(N=10)", "50-64\n(N=10)","65-79\n(N=10)", "\u2265 80\n(N=10)") 

    inserisci la descrizione dell'immagine qui

    Un altro approccio sarebbe utilizzare il tikzDevice recentemente archiviato. Questo crea le trame come tikz che sono in formato compatibile con il latex.

    Questo ti permetterà di passare qualsiasi espressione di latex come una stringa di caratteri alle tue etichette.

    Ha il vantaggio aggiuntivo di poter compilare i documenti con lo stesso preambolo dell’intero documento in modo che i caratteri ecc. Siano coerenti.

    Tutto questo può essere automatizzato usando knitr usando opts_chunk$set(dev = 'tikz')