【问题标题】:How to add vertical (and horizontal) line in highcharts scatter plot如何在高图散点图中添加垂直(和水平)线
【发布时间】:2020-08-23 02:36:31
【问题描述】:

highcharts 未能在 scatter 图中添加 vertical line。下面是一个这样的例子 -

图书馆(高级)

Data = data.frame(x = round(rnorm(20) * 100, 2), y = round(rnorm(20) * 100, 2), z = letters[1:20])
hchart(Data, "bubble", hcaes(x, y)) %>%
        hc_yAxis(plotLines = list(value = 0))

这没有任何情节。有人能指出我正确的方向吗?

【问题讨论】:

    标签: javascript r highcharts r-highcharter


    【解决方案1】:

    type = "bubble" 更改为type = "scatter"hc_yAxis,如下所示

    hchart(Data, "scatter", hcaes(x, y)) %>%
      hc_yAxis(
        plotLines = list(
          list(color = "#252525",
               width = 2,
               value = 0)
        )
      )
    

    【讨论】:

      【解决方案2】:

      上面的答案是正确的,但并不完美,所以我决定添加我自己的更多信息。

      您不必将系列类型从“bubble”更改为“scatter”。它适用于“气泡”。

      您的代码不起作用,因为在 Highcharts 中,plotLines 需要是一个对象数组。在 R lists 中模仿 JS 的数组和对象,所以你需要一个列表列表。此外,您不需要定义“颜色”和“宽度”。我不记得具体是什么时候了,但几个月前 Highcharts 为它们添加了默认值,而您需要定义的只是“值”。

      hc_yAxis(plotLines = list(list(value = 10)))
      

      API 参考:https://api.highcharts.com/highcharts/yAxis.plotLines

      【讨论】:

      • 我使用的是 highcharter 0.7.0,我无法让“bubble”工作,请比较 hchart(data.frame(x=1:10, y = 1:10), type = "scatter" , 映射 = hcaes(x = x, y = y)) 和 type = "bubble"。另外,我没有说你必须指定宽度和值,我只是提供了更多信息:)
      • 我不是在攻击你,我只是想扩展你的答案;)这是 StackOverflow 的主要思想。如果问题的作者(或其他任何人)可以从第二个答案中获得更多信息并学到一些东西,那么我很乐意给他们一个。
      • 我比较了你的数据——这两个系列对我来说都很好。