【问题标题】:Add Title To Each Bubble in Packed Bubble Highcharts为 Packed Bubble Highcharts 中的每个气泡添加标题
【发布时间】:2020-01-28 13:23:24
【问题描述】:

我有一个包装好的气泡图,效果很好。我想为每个较大的分离气泡添加一个标题。标题应始终显示,我希望它是系列的名称。我正在使用拆分系列。

“名称”属性显示在工具提示中,但我希望它始终显示。

这是创建气泡的代码:

Highcharts.chart('bubble-split-chart', {
  chart: {
    type: 'packedbubble',
    animation: false,
    backgroundColor: {
      linearGradient: { x1: 0, y1: 0, x2: 1, y2: 1 },
      stops: [
          [0, '#15191b'],
          [1, '#15191b']
      ]
    },
  },
  // remove hamburger button
  exporting: {
    enabled: false
  },
  // remove chart watermark (highcharts.com)
  credits: {
    enabled: false
  },
  title: {
  text: '',
  enabled: false
  },
  tooltip: {
      useHTML: true,
      pointFormat: '<b>{point.name}</b>'
  },
  plotOptions: {
    packedbubble: {
      minSize: '1%',
      maxSize: '100%',
      zMin: 1,
      zMax: 400,
      layoutAlgorithm: {
        enableSimulation: false,
        gravitationalConstant: 0.05,
        splitSeries: true,
        seriesInteraction: false,
        dragBetweenSeries: false,
        parentNodeLimit: true
      }
    },
    legend: {
      enabled: false
    }
  },
  series: [{
    name: 'Test',
    data: [{
      name: "Lorem",
      value: 29.4,
      color: 'red'
    },
    {
      name: "Ipsum",
      value: 34.1,
      color: 'blue'
    },
    {
      name: "Dolor",
      value: 7.1,
      color: 'green'
    }],
  }, {
    name: 'Test 2',
    data: [{
      name: 'Lorem',
      value: 300.1,
      color: 'red'
    }, 
    {
      name: 'Ipsum',
      value: 20.7,
      color: 'blue'
    },
    {
      name: "Dolor",
      value: 97.2,
      color: 'green'
    }],
  }, {
    name: 'Test 3',
    data: [{
      name: "Lorem",
      value: 8.2,
      color: 'red'
    },
    {
      name: "Ipsum",
      value: 9.2,
      color: 'blue'
    },
    {
      name: "Dolor",
      value: 13.1,
      color: 'green'
    }],
  }]
});

这可能吗?另外,如果可能的话,如何从工具提示中删除名称?

【问题讨论】:

    标签: javascript highcharts ruby-on-rails-5


    【解决方案1】:

    您可以使用annotationsHighcharts.SVGRenderer 类添加标签。

    要从工具提示集中删除系列名称:

    tooltip: {
        headerFormat: '',
        ...
    }
    

    现场演示: http://jsfiddle.net/BlackLabel/6m4e8x0y/4771/

    API 参考:

    https://api.highcharts.com/class-reference/Highcharts.SVGRenderer

    https://api.highcharts.com/highcharts/annotations

    https://api.highcharts.com/highcharts/tooltip.headerFormat

    【讨论】:

    • 感谢您的帮助。我应该提到我的系列在系列数组中有多个数据点。我已经更新了我的代码以反映这一点。我尝试为系列中的每个数据数组添加注释,但这不起作用。如何为每个系列添加标题?
    • 嗨@hashrocket,注释的确切问题是什么?可以添加多个注解:jsfiddle.net/BlackLabel/6m4e8x0y/4774
    • 感谢您的快速回复。我遇到的注释问题是它们与系列中的数据无关。我必须单独放置每一个(并为系列中的每条数据创建一个),如果气泡移动,注释将不在正确的位置。有没有办法将注释直接绑定到系列中每个数据集的名称属性,并将其直接放置在每个黑色气泡的中心?如果您查看第二张图片,您会看到我想要完成的工作。
    • 好吧,我以为你有一个静态图表,因为禁用了动画。那么,是关于响应式的问题吗?如果是,则需要在某个事件回调函数中重新定位注解,例如:api.highcharts.com/highcharts/chart.events.redraw
    • 很抱歉。我禁用了动画,因为它需要很长时间才能停止。我为这么多问题道歉。我是 Ruby 开发人员,而不是 JavaScript 开发人员。问题不一定是响应性问题。我只是在寻找一种方法,将当前位于工具提示中的 name 属性置于每个黑色气泡的中心。这样,当人们查看每个黑色气泡时,他们可以看到该气泡属于哪个公司,而不必将鼠标悬停在每个内部气泡上。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多