2015-01-28 16 views
7

Przykład użycia: Używam riverplot package do wykreślania wykresów sankey. Muszę dostosować rozmiar tekstu etykiet węzłów na wykresie. Domyślny rozmiar jest w moim przypadku zbyt duży.Rozmiar etykiety w działkach sankey (pakiet na rufie)

problem, co Próbowałem już: Niestety pakiet nie działa z cex argument. Twórca pakietu nie dostarczył mi wskazówek. r powtarzalny przykład:

library(riverplot) 

plot(riverplot.example()) 

Generuje:

enter image description here

Pytanie:

Jak mogę dostosować etykiety węzłów (A, B, ...) do mniejszego lub większego rozmiaru niż domyślny?

Odpowiedz

4

Sam pakiet nie zapewnia żadnych środków do ustawienia rozmiaru tekstu. (Widać to, jeśli ci na tym zależy, przez przewiercenie się przez riverplot:::plot.riverplot() do riverplot() do riverplot:::draw.nodes(); etykiety są rysowane przez ostatnie kilka linii tej ostatniej funkcji, która tylko (niejawnie) używa globalnej wartości cex i innych).

Jeśli jednak chcesz tylko jednolicie powiększyć lub zmniejszyć rozmiar etykiet węzłów, istnieje stosunkowo łatwa poprawka. Można tylko tymczasowo przywrócić wartość globalną cex, skonstruować fabułę, a następnie zresetować cex do jego pierwotnej wartości:

library(riverplot) 

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

enter image description here

1

można zastosować niestandardowy styl działce rzeki przez budowę na bazowy domyślny styl i unikanie tymczasowych zmian ustawień środowiska, jak w zaakceptowanej odpowiedzi (która ma kilka lat, więc od tego czasu rzeczy mogły się zmienić w grze riverplot).

Aby utworzyć własny styl z niestandardowego rozmiaru czcionki:

# 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 

Teraz wystarczy zastosować styl niestandardowy podczas renderowania swoją działkę:

plot(my.river.plot, default_style=custom.style) 
Powiązane problemy