桑基图中的标签大小(riverplot 包)

Label size in sankey plots (riverplot package)

用例: 我正在使用 riverplot package 绘制桑基图。我需要调整图中节点标签的文本大小。默认大小对我来说太大了。

问题,我已经试过了: 不幸的是,该包不适用于 cex 参数。软件包的开发人员没有向我提供指导。 r 可重现的例子:

library(riverplot)

plot(riverplot.example())

生成:

问题:

如何将节点标签(A、B、...)调整为小于或大于默认大小?

包本身不提供任何设置文本大小的方法。 (你可以看到,如果你关心的话,通过向下钻取 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)