最近做了一个基于shiny的图片输出工具,可以通过读入ggplot或pheatmap的rds文件并调整相应的图片参数(如dpi,像素,尺寸等)来输出符合要求的图片。
在做shiny的时候,发现renderplot
函数中本身存在调整resolution的参数
也就是说默认的分辨率是72,但是如果我们想试图通过reactive更新这个参数的时候,会出现矛盾:renderplot本身是一个render的reactive,因此无法在内部参数中再使用reactive。
这里提供两种解决办法:
- 在renderplot外嵌套一个observeevent
- 先把图片以自定义的分辨率保存到一个临时文件夹中,然后再使用renderimg调用
参考链接:https://stackoverflow.com/questions/35065086/shinyrenderplot-cannot-set-resolution-reactive
网友评论