【问题标题】:Highcharts percentage without stacking?没有堆叠的高图表百分比?
【发布时间】:2017-05-19 09:52:41
【问题描述】:

是否可以创建带有百分比样条曲线但没有堆叠的 Highcharts 图表?

我想在相对视图中显示线条,但我希望它们在百分比变化时交叉。

基本上是这样的:http://jsfiddle.net/dp6pjeo9/5/

plotOptions: {
    series: {
        pointStart: 2010,
         stacking: 'percent'

    }
},

但没有行“堆叠”行为。堆叠对于行来说真的很不方便,因为很难分辨它们是“绝对”值还是“堆叠”值。

看这里,顶线应该在2010年的黑线之下。

【问题讨论】:

  • 当然可以。但是您需要提供更多关于您实际想要做什么、您的数据是什么等的详细信息。要获得更好的答案,最好的办法是弄清楚您拥有什么,什么不是以你想要的方式工作。
  • 好的@jlbriggs。会做的:)

标签: highcharts percentage linechart


【解决方案1】:

您需要在将数据放入图表配置之前对其进行处理。

计算总和:

var data = [3, 5, 10, 15,25]
var data2 = [25,15, 10, 5, 0]

var sum = data.map((v, i) => v + data2[i]) // grab sums

计算百分比并设置数据:

    series: [{
    name: 'Installation',
    data: data.map((v, i) => ({
      y: v / sum[i] * 100,
      absoluteY: v
    }))
}, {
    name: 'Manufacturing',
    data: data2.map((v, i) => ({
      y: v / sum[i] * 100,
      absoluteY: v
    }))
}]

更改工具提示的 pointFormat,使其显示绝对 y 值而不是百分比值

tooltip: {
  pointFormat: '<span style="color:{point.color}">\u25CF</span> {series.name}: <b>{point.absoluteY}</b><br/>'
},

示例:http://jsfiddle.net/dp6pjeo9/6/

【讨论】:

  • 谢谢,这当然也是可以的。我只需要设置所有轴格式化程序等。好吧,总比没有好。
  • @RobAu 你不应该对轴标签格式做任何事情 - 这个解决方案会将你的数据绘制为百分比值(这将反映在轴标签中) - 的目的工具提示格式化程序是显示点的实际(原始)值,如果你想显示它。如果您不想想在轴标签中显示百分比值,那么我不理解您的原始问题。
  • 啊,我明白了,对不起,我误会了。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-26
  • 2020-04-18
  • 2018-12-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多