Размер этикетки на участках 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)