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

R语言Plotly如何在已有图表注释下方添加额外星号注释

Plotly(R) 图表下方添加多条注释的正确方法

问题背景

我在使用R语言的Plotly库绘制柱状图时,已经成功在图表下方添加了第一条注释,初始可运行代码如下:

library(plotly)

plot_ly(
  x = c("giraffes*", "whale**", "monkeys"),
  y = c(20, 14, 23),
  name = "SF Zoo",
  type = "bar"
) |> 
  layout(annotations = 
           list(x = 0, y = -0.1, 
                text = "Note: * The tallest animal.", 
                showarrow = F, 
                xref='paper', 
                yref='paper')
  )

初始代码生成的图表效果:
单条注释的柱状图效果

现在需要在第一条注释的正下方新增第二条注释,文本内容为"Note: ** Тhe longest animal "。之前尝试在原有注释列表里重复加text字段的写法完全无效,错误代码如下:

library(plotly)

plot_ly(
  x = c("giraffes*", "whale**", "monkeys"),
  y = c(20, 14, 23),
  name = "SF Zoo",
  type = "bar"
) |> 
  layout(annotations = 
           list(x = 0, y = -0.1, 
                text = "Note: * The tallest animal.",
                text = Note: ** Тhe longest animal,  # 错误写法
                showarrow = F, 
                xref='paper', 
                yref='paper')
  )

错误原因

上述写法不能生效有两个核心问题:

  • R语言的列表中同名字段会被后写入的值覆盖,同一个注释列表里写两个text,最终只会保留最后一个text的内容,不可能生成两条独立注释
  • 第二条注释的文本没有包裹字符串引号,本身就不符合R的语法规则,运行会直接报错。

正确实现方案

Plotly的annotations参数支持传入由多个注释配置组成的列表集合:你只需要把每一条注释单独封装为一个独立的配置列表,再把所有注释列表放到一个大列表里传给annotations即可。要让第二条注释显示在第一条下方,只需要把第二条注释的y坐标(paper参考系下,y值越小位置越靠下)设置得比第一条更小即可。
如果注释位置太靠下被画布边缘截断,可以额外加margin参数调大底部边距。
可直接运行的正确代码:

library(plotly)

plot_ly(
  x = c("giraffes*", "whale**", "monkeys"),
  y = c(20, 14, 23),
  name = "SF Zoo",
  type = "bar"
) |> 
  layout(
    annotations = list(
      # 第一条注释
      list(
        x = 0, y = -0.1, 
        text = "Note: * The tallest animal.", 
        showarrow = F, 
        xref='paper', 
        yref='paper'
      ),
      # 第二条注释,y值设为-0.2,位于第一条正下方
      list(
        x = 0, y = -0.2, 
        text = "Note: ** Тhe longest animal", 
        showarrow = F, 
        xref='paper', 
        yref='paper'
      )
    ),
    # 调大底部边距,避免注释被截断
    margin = list(b = 100)
  )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:42:15