R语言Plotly箱线图原生提示文本修改及pt-br本地化失效问题
R中Plotly箱线图提示框自定义与pt-br本地化问题解决
自定义提示框统计项文本
Plotly箱线图原生提示框的统计项文本不支持直接通过参数单独修改,要自定义中位数、均值、上下围栏、四分位数等内容的提示文案,最稳定的方案是预计算所有箱线统计量,手动拼接提示文本后传入绘图函数,覆盖原生提示:
library(plotly) # 生成测试数据 set.seed(123) vals <- rnorm(50) # 计算箱线图核心统计量 q1 <- quantile(vals, 0.25, names = FALSE) q3 <- quantile(vals, 0.75, names = FALSE) med <- median(vals) iqr_val <- q3 - q1 lower_fence <- max(min(vals), q1 - 1.5*iqr_val) upper_fence <- min(max(vals), q3 + 1.5*iqr_val) mean_val <- mean(vals) # 拼接支持HTML换行的自定义提示文本 hover_content <- paste0( "<b>箱线图统计值</b><br>", "第一四分位数(Q1): ", round(q1, 3), "<br>", "中位数(Median): ", round(med, 3), "<br>", "均值(Mean): ", round(mean_val, 3), "<br>", "下围栏(Lower Fence): ", round(lower_fence, 3), "<br>", "上围栏(Upper Fence): ", round(upper_fence, 3), "<br>", "第三四分位数(Q3): ", round(q3, 3) ) # 绘图,指定使用自定义文本作为提示内容 fig <- plot_ly( x = ~vals, type = "box", hoverinfo = "text", text = hover_content ) fig
运行后提示框将完全显示你自定义的文本内容,不会再出现原生默认文案。
pt-br本地化失效修复
使用config()函数配置本地化时,西班牙语、日语等语言生效,只有巴西葡萄牙语不生效,核心原因是底层Plotly.js的语言包标识对大小写敏感:巴西葡萄牙语的合法locale值为pt-BR(BR为大写),传入小写的pt-br时无法匹配到对应语言包,会自动回退为英文。
注意:locale参数值中BR必须大写,大小写不匹配会直接导致语言包加载失败
将参数修改为大写格式即可正常显示葡萄牙语文案:
fig <- plot_ly(x = ~rnorm(50), type = "box") fig |> config(locale = "pt-BR")
若使用4.10.0以下版本的R plotly包,可能存在内置pt-BR语言包缺失的问题,升级到最新版本即可无需额外配置直接生效。
内容的提问来源于stack exchange,提问作者bbiasi
相关产品推荐
相关产品推荐

