在javascripts的highcharts中为每个点的名称使用不同的列表
我有三个数组来自json中的json字典:在javascripts的highcharts中为每个点的名称使用不同的列表,javascript,highcharts,Javascript,Highcharts,我有三个数组来自json中的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']); } $('#container0').highcharts({ title: {
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']);
}
$('#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]
}]
});
我用highchat制作了一张图表,如下所示:
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']);
}
$('#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中的值。我尝试了很多方法,但都不管用。非常感谢您的帮助。可以通过设置数据点的属性
Name
来设置点的名称。可以按中所示执行,因此每个点都是一个具有name
属性的对象,如:
series: [{
data: [{
name: 'Point 1',
y: 1
},
...
在您的情况下,数组[nameString,value]
也可以工作
series: [{
data: [
['Point 1', 1],
...
JSFiddle:
因此,对于您的代码,您可以使用如下内容:
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中提供的许多格式化函数之一-例如,您使用sort()尝试过。?我希望文本(数组c)显示在图表中的每个点上。sort是什么?你能用硬编码的数据重新创建你的示例作为现场演示吗,只用于测试?