javascript - 将实体图深入到 2 系列条形图

标签 javascript c# jquery asp.net highcharts

我需要添加具有向下钻取功能的 SolidGauge - HighCharts。 我无法添加仪表的向下钻取。所以我尝试通过调用脚本函数来加载div

<div id="YTDSolidGauge" onload="drawGaugeChart();" onclick="drawBarChart(this);" ></div>

<div id="YTDBar" onclick="drawGaugeChart();"></div> 

并在条形图的函数中触发函数,

events:{ 
       click: function(){
            alert('test');
            drawGaugeChart();
        }
    }

当我在仪表中编写onload函数时,图表已经消失了。 我希望首先加载仪表,当我们单击它时,应该加载栏。 当我们单击条形图时,它应该返回到仪表。 或者我们可以重新加载特定的 div 来加载另一个 div。 我有很多图表,所以最好通过函数调用,而不是在正文中编写“onload”函数。

最佳答案

您需要捕获 series.point.events 中的点击事件,销毁图表并创建新图表(条形图)。然后添加单击事件并调用 destroy/init。

var barOptions,
        solidOptions;

barOptions = {
    chart:{
    type: 'bar'
  },
  series:[{
    data:[1,2,3]
  }],
  plotOptions: {
    series: {
      point: {
        events: {
          click: function() {
            var chart = this.series.chart;

            chart.destroy();

            Highcharts.chart('container', solidOptions);
          }
        }
      }
    }
  },

}

solidOptions = {
 chart: {
    type: 'solidgauge'
  },
  legend: {
    enabled: false
  },
  pane: {
    center: ['50%', '85%'],
    size: '140%',
    startAngle: -90,
    endAngle: 90,
    background: {
      backgroundColor: (Highcharts.theme && Highcharts.theme.background2) || '#EEE',
      innerRadius: '60%',
      outerRadius: '100%',
      shape: 'arc'
    }
  },
  plotOptions: {
    series: {
      point: {
        events: {
          click: function() {
            var chart = this.series.chart;

            chart.destroy();

            Highcharts.chart('container', barOptions);
          }
        }
      }
    }
  },

  tooltip: {
    enabled: false
  },
  series: [{
    name: 'Brands',
    colorByPoint: true,
    data: [{
      name: 'Microsoft Internet Explorer',
      y: 56.33,
    }]
  }]
};


Highcharts.chart('container', solidOptions);

演示:

关于javascript - 将实体图深入到 2 系列条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44561119/

相关文章:

javascript - 带有 JSON 的 Angular.js 不起作用?

c# 改变用户文化,相当于来自 powershell 的 Set-Culture

c# - 以并行和顺序方式执行 N 个线程

C# 正则表达式将单词与点匹配

jquery - 对表元素的重复 ajax 请求

jquery - 向行或 div 添加箭头

javascript - 花式盒子 3 : Disable zoom when image is clicked

javascript - jQuery - 通过改变合并两个数组

javascript - 从div中的可拖动子元素获取边距?

php - 在php中从jquery检索数组值