【问题标题】:How to modify Column stacked percent Chart in Highcharts如何修改Highcharts中的柱形堆积百分比图表
【发布时间】:2016-01-19 06:07:17
【问题描述】:

我想更改此图表的功能:http://www.highcharts.com/demo/column-stacked-percent

这样,当我单击图例时,正在计算的百分比应该从所有数据系列中制定出来,而不仅仅是可见的数据系列。现在单击图例,该列始终变为 100%。

【问题讨论】:

  • 您希望工具提示显示 current hover 与所有数据百分比或 current hover color 与所有数据百分比
  • @Siddharth 我想要的是点击图例项,该条不应显示在图表上,但同时百分比值根本不应该改变。

标签: javascript jquery highcharts


【解决方案1】:

可以将ignoreHiddenSeries 设置为false,但在这种情况下,隐藏除顶部之外的系列不会使其他系列倒下以填补堆栈中的空白。

示例:http://jsfiddle.net/pahyq9b9/

另一种解决方案是解析您的数据并使用normal 堆叠而不是percent,因为普通堆叠只会移动其他点而不会改变点值。

【讨论】:

  • 这正是我想要的,非常感谢。
【解决方案2】:

试试这个fiddle,我所做的是我使用formatter而不是pointformat

  tooltip: {
        formatter: function () {
            var s=0;
            var r="<span>"+this.x+"</span><br/>"


            $.each(this.points, function (i,v) {
                console.log(v);

                r+='<span style="color:'+v.color+'">'+v.series.name+'</span>: <b>   '+v.y+'</b>  '+((v.y*100)/total)+'% <br/>'
            });

            console.log(r);
            return r;

        },
        shared:true
    },

为此我添加了一些全局变量

var obj=Highcharts.charts[$("#container").data('highchartsChart')]; 

var total=0;
for(v of obj.options.series){
    for(z of v.data){
    total+=z;
  }
}
console.log(total);

【讨论】:

  • 希望你能理解我的问题。
  • 是的,我刚刚看到,您非常接近理解我的问题。请参考这张图片:i.imgur.com/Cdta5L2.png。当我点击任何图例时,该栏应从显示中移除。
  • 你可以将此图片添加到原始问题吗?
  • 那个 URL 在我的办公室也被屏蔽了 :( 只需将图像添加到原始问题中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多