2013-10-07 25 views
0

我有一個圖表顯示[x,y]使用highcharts。我想要使用多於[x,y]當我在一個數組中指定minimum value, maximum value。 我有這樣一個數組:array1[['apples',no of apples,11,12],['oranges',no of oranges,1,2]我想用highcharts來顯示一系列不僅僅是x和y的點

如何在我的下列圖表中使用此數組?我知道我必須在系列選項中指定這個array1。但我應該使用哪張圖表?在上面定義的數組中有多個[x,y]選項時,如何在圖表中表示點。

$(document).ready(function fruits() { 
    $('#container').highcharts({ 
     title: { 
      text: 'fruits' 
     }, 

     xAxis: { 
      categories: ['Apple', 'Orange'] 
     }, 

     yAxis: { 
      title: { 
       text: 'No of fruits' 
      }, 
      tickInterval: 10 
     }, 

     series: [{ 
      name: 'Fruits', 
      data: [ 
       ['apple', 29.9], 
       ['orange', 71.5] 
      ] 

     }] 
    }); 
}); 

例如,如果我使用列範圍圖表我有同一點下的最小值和最大值。 但我不需要任何水果,平均數和中位數也包含在同一張圖表中。我不想爲平均值和中位數畫一條單獨的線,而是對每個點顯示沒有水果,最小值,最大值,位數在礦井工具tip.I希望數據是[蘋果,5,4,12.5,10] $(函數(){

$('#container').highcharts({ 

    chart: { 
     type: 'columnrange', 
     inverted: false 
    }, 

    title: { 
     text: 'Temperature variation by month' 
    }, 

    subtitle: { 
     text: 'Observed in Vik i Sogn, Norway, 2009' 
    }, 

    xAxis: { 
     categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
    }, 

    yAxis: { 
     title: { 
      text: 'Temperature (°C)' 
     } 
    }, 

    tooltip: { 
     valueSuffix: '°C' 
    }, 

    plotOptions: { 
     columnrange: { 
      dataLabels: { 
       enabled: true, 
       formatter: function() { 
        return this.y + '°C'; 
       } 
      } 
     } 
    }, 

    legend: { 
     enabled: false 
    }, 

    series: [{ 
     name: 'Min and Max', 
     data: [ 
      [-9.7, 9.4], 
      [-8.7, 6.5], 
      [-3.5, 9.4], 
      [-1.4, 19.9], 
      [0.0, 22.6], 
      [2.9, 29.5], 
      [9.2, 30.7], 
      [7.3, 26.5], 
      [4.4, 18.0], 
      [-3.1, 11.4], 
      [-5.2, 10.4], 
      [-13.5, 9.8] 
     ] 
    } 

        ] 


      ] 

}); 

});

回答

0

需要兩個類別,然後兩個系列,就像這樣:

 xAxis: { 
      categories: ['Apples', 'Oranges'], 
      title: { 
       text: null 
      } 
     }, 
     series: [{ 
      name: 'Min', 
      data: [11, 12] 
     }, { 
      name: 'Max', 
      data: [20, 24] 
     }] 

下面是一個例子小提琴:http://jsfiddle.net/UZj2K/

+0

謝謝sualkin。我有一個['蘋果',4(沒有蘋果),4(最小值),15(最大值),9.8(平均值)]的數組,我如何將它作爲單點重新表示。示例數據[['蘋果',4(蘋果的無),4(最小值),15(最大值),9.8(平均值)]]我不能直接引用這個數據數組,如上所述右邊? – user2844540

+0

我基本上想要在一個點上表示它。不像上面所示的例子那樣,單獨的點。我希望在上面的數組中表示的所有數據都以圖表中的一個點結束。我該如何做它?任何幫助都會大大提升。 – user2844540

0

我認爲將所有數據放在一個點上並不是一個好主意。但是Error BarBox plot可能適合您的需要。以下是箱形圖的一個例子。這不完全是你想要的,但它很接近。 http://jsfiddle.net/7kFh4/

0

如果你想在圖表上只使用一個線,並且只顯示所有詳細信息只有在提示,你可以簡單的通過點作爲對象,然後進行格式化提示,請參見:http://jsfiddle.net/3bQne/566/

var chart = new Highcharts.Chart({ 
    chart: { 
     renderTo: 'container' 
    }, 
    xAxis: { 
     categories: ['apple', 'banana'] 
    }, 
    tooltip: { 
     formatter: function() { 
      var o = this.point.options; 

      return this.x + '<br>' + 
       this.series.name + '<br>' + 
       'Count: ' + this.y + '<br>' + 
       'Min: ' + o.min + '<br>' + 
       'Max: ' + o.max + '<br>' + 
       'Mean: ' + o.mean + '<br>' + 
       'Median: ' + o.median + '<br>'; 
     } 
    }, 
    series: [{ 

     data: [{ 
      x: 0, 
      y: 5, 
      min: 10, 
      max: 15, 
      median: 13.4, 
      mean: 12.1 
     },{ 
      x: 1, 
      y: 6, 
      min: 13, 
      max: 16, 
      median: 13.4, 
      mean: 15.2 
     }]   
    }] 
}); 
相關問題