2013-10-28 28 views
1

我使用HighCharts插件來繪製圖表。但是我有一些麻煩:當圖表爲空時,我只看到xAxis,並且yAxis不顯示。當圖表不是空的並且有繪製圖表的數據時,yAxis顯示。我找不到解決這個問題的辦法。HighCharts插件JQuery

function drawChart(jsonData) { 
    var rate = 20; 
    var is3Axis = $("#sel_charttype").val() == "1"; 

    var options = { 
     chart: { 
      renderTo: 'chart', 
      defaultSeriesType: 'line', 
      margin: [50, 65, 50, 55], 
      backgroundColor: '#fff' 
     }, 
     title: null, 
     xAxis: { 
      categories: jsonData.timeTicks 
     }, 
     tooltip: { 
      enabled: true, 
      formatter: function() { 
       return '<b>' + this.series.name + '</b><br/>' + 
        this.x + ': ' + this.y; 
      } 
     }, 
     plotOptions: { 
      line: { 
       dataLabels: { 
        enabled: true, 
        style: { 
         fontSize: '13px' 
        }, 
        x: 0, 
        y: -10 
       }, 
       marker: { 
        symbol: 'circle' 
       } 
      } 
     }, 
     legend: { 
      layout: 'horizontal', 
      align: 'right', 
      verticalAlign: 'top', 
      x: -10, 
      y: 0, 
      floating: false, 
      shadow: false, 
      borderWidth: 0, 
      itemStyle: { 
       fontSize: '11px' 
      } 
     }, 
     credits: { 
      enabled: false 
     } 
    }; 

    if (is3Axis) { 
     options.yAxis = [ 
      //primary axis 
      { 
       title: { 
        text: 'Amount' 
       }, 
       gridLineColor: '#f1f1f1' 
      }, 
      { 
       gridLineWidth: 0, 
       title: { 
        text: 'Total', 
        style: { 
         //color: '#89A54E' 
        } 
       }, 
       opposite: true 
      } 
     ]; 
     options.series = jsonData.summary3AxisData; 
    } else { 
     // options.chart.margin[1] = 30; 
     options.yAxis = { 
      title: { 
       text: '' 
      }, 
      gridLineColor: '#f1f1f1' 
     }; 
     options.series = jsonData.summaryData; 
    } 

    if (chart) 
     $("#chart").html(''); 

    chart = new Highcharts.Chart(options); 

    if (jsonData.url) { 
     $("#chart .highcharts-container").css("cursor", "pointer").click(function() { 
      window.open(jsonData.url, "_self"); 
     }); 
    } 
} 
+0

嗨!請告訴我們幾行代碼。 – itspoma

+0

是的,它完成了!抱歉! – IFrizy

回答

1

ShowEmpty應該工作,報告here

解決方法很簡單:利用總是至少有一個系列,例如設置showInLegend: false,請參閱:http://jsfiddle.net/3UPQF/

注意,最小和最大的軸需要進行設置。

1

可以使用showEmpty參數,但在情況下,當系列是空的,蜱/不顯示標籤,defaulty。

+0

* showEmpty *不工作! :( – IFrizy