You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Shiny应用的Graph2标签页配置自动加载的自定义图例

解决方案

核心修改思路

现有代码调用f1生成两个图表时,Graph2已经传递了gnum=1的参数,Graph1使用的是gnum=0的默认值,我们直接复用这个已有参数做图例样式的区分即可,不需要新增参数,改动量最小。

具体修改位置

仅需要修改f1函数中绘图部分的两处legend代码:

1. 替换数据量不足分支的图例逻辑(nrow(datas)<=2代码块内)

把原有的单行legend代码替换为如下判断逻辑:

if (gnum == 0) {
  # 保留Graph1原有图例样式
  legend("topright",  legend= round(m,1),title="The number is:",title.col = "black", cex = 1.2)
} else {
  # Graph2使用自定义图例样式
  legend("topright",  legend= paste('US$', round(m,1)),title="The value is:",title.col = "black", cex = 1.2)
}

2. 替换拟合场景分支的图例逻辑(else代码块内)

同样把原有的单行legend代码替换为判断逻辑:

if (gnum == 0) {
  # 保留Graph1原有图例样式
  legend("topright",legend= round(coef,1),title="The number is:",title.col = "black", cex = 1.2)
} else {
  # Graph2使用自定义图例样式
  legend("topright",legend= paste('US$',round(coef,1)),title="The value is:",title.col = "black", cex = 1.2)
}

修改完成后运行即可,点击Graph2标签页时会自动加载自定义样式的图例,Graph1的显示效果保持不变,你原来注释掉的两行目标图例代码可以直接删除。

内容的提问来源于stack exchange,提问作者Antonio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 17:36:08