2015-01-28 13 views
7

Anwendungsfall: ich die riverplot package bin mit sankey Diagramme zu zeichnen. Ich muss die Textgröße der Knotenbeschriftungen im Plot anpassen. Die Standardgröße ist in meinem Fall zu groß.Etikettengröße in sankey Plots (riverplot Paket)

Problem, was ich schon versucht: Leider ist das Paket mit einem cex Argumente nicht. Der Entwickler des Pakets hat mir keine Anleitung gegeben. r Reproduzierbare Beispiel:

library(riverplot) 

plot(riverplot.example()) 

Erzeugt:

enter image description here

Frage:

Wie kann ich die Knoten Etiketten einstellen (A, B, ...) zu einer kleineren oder größeren Größe als Standard?

Antwort

4

Das Paket selbst bietet keine Möglichkeit, die Textgröße einzustellen. (Sie können sehen, dass, wenn Sie sich interessieren, durch Drilldown riverplot:::plot.riverplot() bis riverplot() bis riverplot:::draw.nodes(); die Beschriftungen werden von den letzten paar Zeilen dieser endgültigen Funktion gezeichnet, die nur (implizit) den globalen Wert von cex und anderen verwendet.)

Wenn Sie nur die Größe von Knotenbeschriftungen gleichmäßig vergrößern oder verkleinern möchten, gibt es eine relativ einfache Lösung. Sie können nur vorübergehend den globalen Wert von cex zurückgesetzt, konstruieren die Handlung, und dann cex auf den ursprünglichen Wert zurück:

library(riverplot) 

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

enter image description here

1

Sie können durch den Bau auf der einen benutzerdefinierten Stil zu einem Fluss Grundstück gelten base default style und vermeidet zeitweilige Änderungen der Umgebungseinstellungen wie in der angenommenen Antwort (die ein paar Jahre alt ist, also können sich die Dinge seither mit riverplot geändert haben).

# 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 

Jetzt gilt nur Ihren benutzerdefinierten Stil, wenn Ihr Grundstück Rendering:

Um einen benutzerdefinierten Stil mit einer benutzerdefinierten Schriftgröße zu erstellen

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