2015-01-28 11 views
7

Caso di utilizzo: Sto utilizzando lo riverplot package per tracciare grafici sankey. Devo regolare la dimensione del testo delle etichette dei nodi nel grafico. La dimensione predefinita è troppo grande nel mio caso.Dimensioni etichetta in sankey plot (pacchetto Riverplot)

problema, quello che ho provato già: Purtroppo il pacchetto non funziona con un argomento cex. Lo sviluppatore del pacchetto non mi ha fornito indicazioni. r riproducibili esempio:

library(riverplot) 

plot(riverplot.example()) 

Genera:

enter image description here

Domanda:

Come posso modificare le etichette nodi (A, B, ...) a una dimensione più piccola o più grande di quella predefinita?

risposta

4

Il pacchetto non fornisce alcun mezzo per impostare le dimensioni del testo. (Puoi vedere che, se ti interessa, esegui il drill down da riverplot:::plot.riverplot() a riverplot() a riverplot:::draw.nodes(), le etichette vengono disegnate dall'ultimo paio di righe di quella funzione finale, che solo (implicitamente) utilizza il valore globale di cex e altri).

Se si desidera semplicemente ingrandire o ridurre in modo uniforme la dimensione delle etichette dei nodi, tuttavia, esiste una soluzione relativamente semplice. Si può solo ripristinare temporaneamente il valore globale di cex, costruire la trama, e quindi reimpostare cex al suo valore originale:

library(riverplot) 

op <- par(cex=0.8) 
plot(riverplot.example()) 
par(op) 

enter image description here

1

È possibile applicare uno stile personalizzato a un complotto del fiume con la costruzione sul stile di base di default ed evita di modificare temporaneamente le impostazioni dell'ambiente come nella risposta accettata (che ha qualche anno di vita, quindi le cose potrebbero essere cambiate con riverplot da allora).

Per creare uno stile personalizzato con una dimensione di carattere personalizzato:

# create a custom style by first copying from the default style 
custom.style <- riverplot::default.style() 

# change the font size 
custom.style$textcex <- 0.8 

Ora basta applicare il vostro stile personalizzato durante il rendering vostro diagramma:

plot(my.river.plot, default_style=custom.style)