【问题标题】:How to add annotations horizontal or vertical reference line in plotly?如何在绘图中添加注释水平或垂直参考线?
【发布时间】:2016-12-21 16:12:33
【问题描述】:

如果这很重要,我正在使用闪亮的 R. 输出。 我想为layout(shapes = ) 创建的水平或垂直参考线添加注释。它应该能够动态更改位置,以便无论如何放大或缩小绘图图,它都保持可见。 Approximate Example

到目前为止,我只能找到固定位置的文本。我不介意它是否动态地位于指向参考线的轴或箭头上。

%已编辑

我找到了问题的解决方案:

dt <- data.table(x = 1:10, y = rnorm(10))    
annotation <- list(yref = 'paper', xref = "x", y = 0, x = 2, text = "annotation")
plot_ly(type = "scatter", mode = "lines") %>% add_trace(x = dt$x, y = dt$y, mode = "lines") %>% layout(annotations= list(annotation))

基本上,yref = "paper" 允许您指定始终相对于绘图的位置,y=1 指的是绘图的顶部,y=0 是指绘图的底部

【问题讨论】:

  • 欢迎来到 StackOverflow :)。请注意,如果问题附有说明问题的独立且最小的示例,则问题将得到更快的回答,并吸引投票和声誉。
  • 谢谢编辑。抱歉,我还不能直接发布图片。
  • 尝试将 geom_hline() 图层添加到您的绘图中?如果您可以发布您正在使用的代码的最小工作示例,则更容易理解您的需求,然后我们可以提出修改建议以获得您想要的效果。

标签: r plotly


【解决方案1】:

我找到了问题的解决方案:

dt <- data.table(x = 1:10, y = rnorm(10))    
annotation <- list(yref = 'paper', xref = "x", y = 0, x = 2, text = "annotation")
plot_ly(type = "scatter", mode = "lines") %>% add_trace(x = dt$x, y = dt$y, mode = "lines") %>% layout(annotations= list(annotation))

基本上,yref = "paper" 允许您指定始终相对于绘图的位置,y=1 指绘图顶部,y=0 指绘图底部

【讨论】: