【问题标题】:In Highcharts, is it possible to enable all markers on hover?在 Highcharts 中,是否可以在悬停时启用所有标记?
【发布时间】:2016-09-22 20:32:34
【问题描述】:

我有一组禁用标记的系列,我想在系列悬停时启用所有标记,而不是单个点,如文档所述:http://api.highcharts.com/highcharts/plotOptions.series.states.hover

我最接近的是:

plotOptions: {
    series: {
        marker: {
            enabled: false
        },
        states: {
            hover: {
                 enabled: true,
                 marker: {
                    enabled: false
                }
            }
        }
    }
}

有了这个,我希望标记全部关闭,并且当悬停时显示所有标记,因为我认为系列 markers.enabled 设置为 true,但正如我上面显示的文档所述,这不是什么发生。

我想这样做是为了向用户展示他可以将鼠标悬停在哪里以查看下一个/上一个工具提示,因为标记不是等距的。

有可能实现吗?

【问题讨论】:

    标签: highcharts


    【解决方案1】:

    您可以使用 series.events.mouseOver 和 series.events.mouseOut 函数来更新您的系列,这样您就可以显示或隐藏您的标记。

    plotOptions: {
      series: {
      stickyTracking: false,
        marker: {
          enabled: false
        },
        events: {
          mouseOver: function() {
            this.update({
              marker: {
                enabled: true
              }
            });
          },mouseOut: function() {
            this.update({
              marker: {
                enabled: false
              }
            });
          }
        }
      }
    },
    

    在这里你可以看到一个例子:http://jsfiddle.net/hgbz7kg6/

    【讨论】:

    • 虽然这是一个系列的有效答案,但在具有多个重叠系列的图表上会导致问题:streamable.com/bf3t
    • 你能发布这个问题的实例吗?
    • 星期一我会这样做。我必须检查我工作场所的代码。
    • 我认为您可能对 tooltip 有一些问题:shared 设置为 true。在这里,您可以看到带有共享工具提示的两个系列图表的示例:jsfiddle.net/hgbz7kg6/2
    • 是的,hack 是个问题。我想内置该功能。
    猜你喜欢
    • 2019-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-30
    • 1970-01-01
    • 2019-10-20
    相关资源
    最近更新 更多