我有三个来自js中json字典的数组:
var a=[]
var b=[]
var c=[]
var d = JSON.parse('{{ dictionary | safe}}');
for (var key in d) {
b.push(d[key]['score']);
a.push(key);
c.push(d[key]['text']);
}
我设法使用highchat这样的图表:
$('#container0').highcharts({
title: {
text: 'Daily News {{ name }}',
x: -20
},
subtitle: {
text: 'Source: News.',
x: -20
},
xAxis: {
categories: a
},
yAxis: {
title: {
text: 'Scores'
},
plotLines: [{
value: 0,
width: 1,
color: colors[3]
}]
},
series: [{
allowPointSelect: true,
name: 'news score',
data: b,
color: colors[2]
}]
});
当我鼠标悬停/点击每个品脱时,我得到了值。我想修改它以显示数组c的值。我尝试了很多方法但没有任何效果。我很感激你的帮助。
答案 0 :(得分:0)
可以通过为数据点设置属性name
来设置点的名称。它可以按照中的说明完成,因此每个点都是具有name
属性的对象,如:
series: [{
data: [{
name: 'Point 1',
y: 1
},
...
在你的情况下,数组[nameString, value]
也可以。
series: [{
data: [
['Point 1', 1],
...
JSFiddle:API reference
因此,对于您的代码,您可以使用以下内容:
var a=[]
var b=[]
var d = JSON.parse('{{ dictionary | safe}}');
for (var key in d) {
b.push([d[key]['text'], d[key]['score']]);
a.push(key);
}
以后使用b
作为系列数据。
要设置工具提示的文本,您可以使用API中提供的众多格式化功能之一 - 例如http://jsfiddle.net/fnmncx6h/,headerFormat。