更新图表类型时的小数位数更改

时间:2018-12-04 13:18:18

标签: javascript highcharts

我有一个按性别分类的人口金字塔图表。用户需要具有更改系列图类型的能力。默认值为bar,他们希望能够更改为line。我创建了一个将更改图表类型的函数。这是可行的,但是“向左移动”(或负值)的序列具有真正的奇数/比例变化。如果我隐藏了右边的序列,那么左边的序列值/比例将得到纠正。显示正确的序列,该图将再次显示。如果我改回钢筋类型系列,则该系列看起来正确。

更改图表系列类型的代码:

  var mainGraphFormatType = $('#ddlGraphFormatDropDown');

  mainGraphFormatType.change(function() {
    var chartM = $('#container').highcharts();
    if ($(this).val() != 'null') {
      var selType = $(this).val().toLowerCase();
      if (selType == 'scatter') {
        selType = 'line';
      }
      changeType(chartM, selType);
    }
  });

  function changeType(chart, newType) {
    newType = newType.toLowerCase();
    var serie = chart.series;
    for (i = 0; i < chart.series.length; i++) {
      var item = serie[i];
      item.update({
        type: newType
      });
      var isLegendOn = chart.legend.options.enabled;
      if (isLegendOn) {
        if (!item.showInLegend) {
          item.update({
            showInLegend: true
          });
          item.options.showInLegend = true;
          chart.legend.renderItem(item);
          chart.legend.render();
        }
      }
    }
    changeChartTypeSingSeries(chart);
  }

  function changeChartTypeSingSeries(chart) {
    var serie = chart.series;
    for (i = 0; i < chart.series.length; i++) {
      var item = serie[i];
      if (!item.visible) {
        item.hide();
      }
    }
  }

我已从highcharts演示金字塔图表here中复制了此问题。

1 个答案:

答案 0 :(得分:1)

set_window_property('WINDOW1', window_state, maximize); ------- this is the window name 事件上交换堆栈属性的解决方法:

set_window_property(forms_mdi_window, window_state, maximize);

演示: https://jsfiddle.net/BlackLabel/hdL7eb9x/