2014-06-17 43 views
0

我傳遞數據作爲JSON到highcharts這個JSON來自Java方法,所以我不能改變這個......所以請不要建議修改JSON格式... 我對highchart代碼如下...如何從json數據標籤Highcharts工具提示?

var json = [{ 
    "value": 12, 
    "name": "platform1", 
    "key": "event4" 
}, { 
    "value": 10, 
    "name": "platform1", 
    "key": "event1" 
}, { 
    "value": 14, 
    "name": "platform1", 
    "key": "event3" 
}, { 
    "value": 9, 
    "name": "platform1", 
    "key": "event2" 
}, { 
    "value": 13, 
    "name": "platform3", 
    "key": "event4" 
}, { 
    "value": 13, 
    "name": "platform3", 
    "key": "event1" 
}]; 
var processed_json = new Array(); 
$.map(json, function (obj, i) { 
    processed_json.push([obj.key, parseInt(obj.value), obj.name]); 
}); 

$('#container').highcharts({ 
    chart: { 
     type: 'column' 
    }, 
    xAxis: { 
     type: "category" 
    }, 
    tooltip: { 
     formatter: function() { 
      return 'Branch: <b>' + this.series.name + 
       '</b><br/>Platform: ' + this.point.y; 
     } 
    }, 
    series: [{ 
     name: 'Data', 
     data: processed_json 
    }] 
}); 

我試圖在工具提示上放置平臺名稱,因爲我將鼠標懸停在...但我無法找到任何方法來做到這一點......加上有什麼辦法可以創造傳奇作爲平臺的數量......正確的現在我只有一個名爲「Data」的圖例。

jfiddle可以在這裏找到:http://jsfiddle.net/QTJb7/

+0

能否請您創建一個http://www.jsfiddle.net我們一起工作呢? – Fizzix

+0

@fizzix這裏是... http://jsfiddle.net/QTJb7/ –

+0

我對你想要達到的目標仍然有些困惑。你能否詳細解釋一下? – Fizzix

回答

1

您需要使用對象,而不是數組,在點定義和你的$ .MAP添加參數中。

$.map(json, function (obj, i) { 
    processed_json.push({name: obj.key,y: parseInt(obj.value),customName : obj.name }); 
}); 

提示:

tooltip: { 
    formatter: function() { 
     return 'Branch: <b>' + this.series.name + 
      '</b><br/>Platform: ' + this.point.name + ' <br> name ' + this.point.customName; 
    } 
}, 

http://jsfiddle.net/QTJb7/1/

+0

超級真棒它的工作......非常感謝@塞巴斯蒂安Bochan。 (y)的 –