Размер этикетки на участках sankey (пакет с речным участком)

Случай использования: я использую пакет riverplot для построения диаграмм Санки. Мне нужно настроить размер текста меток узлов на графике. Размер по умолчанию слишком велик в моем случае.

Проблема, что я уже пробовал: К сожалению, пакет не работает с cex аргумент. Разработчик пакета не дал мне указаний.Воспроизводимый пример:

library(riverplot)

plot(riverplot.example())

Формирует:

Вопрос:

Как настроить метки узлов (A, B, ...) на меньший или больший размер, чем по умолчанию?

2 ответа

Решение

Сам пакет не предоставляет никаких средств для установки размера текста. (Вы можете увидеть, что, если вам не все равно, riverplot:::plot.riverplot() в riverplot() в riverplot:::draw.nodes(); метки нарисованы последней парой строк этой конечной функции, которая просто (неявно) использует глобальное значение cex и другие.)

Если вы просто хотите равномерно увеличивать или уменьшать размер меток узлов, есть относительно легкое решение. Вы можете просто временно сбросить глобальное значение cex, построить сюжет, а затем сбросить cex к первоначальной стоимости:

library(riverplot)

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

Вы можете применить собственный стиль к речному графику, опираясь на базовый стиль по умолчанию и избегая временного изменения настроек среды, как в принятом ответе (которому несколько лет, поэтому с течением времени ситуация могла измениться с речным участком).

Чтобы создать собственный стиль с нестандартным размером шрифта:

# 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

Теперь просто примените свой собственный стиль при рендеринге вашего графика:

plot(my.river.plot, default_style=custom.style)
Другие вопросы по тегам