我使用下面的小提琴中的代码创建了一个高位图表,但是将数据更改为java字符串(可以正常使用),但是收到错误“未捕获的语法错误:无效或意外的令牌”
当我单击错误时,它将加载此控制台源并指向“数据”标签:
Highcharts.chart('container', {
chart: {
type: 'column'
},
title: {
text: 'Users per lesson'
},
xAxis: {
type: 'category',
labels: {
rotation: -45,
style: {
fontSize: '13px',
fontFamily: 'Verdana, sans-serif'
}
}
},
yAxis: {
min: 0,
title: {
text: 'Users'
}
},
series: [{
name: 'Users',
data: [
"['Snowboarding for dummies', 1],
['Advanced Carving
Techniques', 1],"
],
dataLabels: {
enabled: true,
rotation: -90,
color: '#FFFFFF',
align: 'right',
format: '{point.y:.1f}', // one decimal
y: 10, // 10 pixels down from the top
style: {
fontSize: '13px',
fontFamily: 'Verdana, sans-serif'
}
}
}]
});
我实际上要传递的是:
data: [
<%=session.getAttribute("jsTag") %>
],
但这是在创建带有换行符的字符串吗?
如果我输出的字符串在一行上全部输出:
['傻瓜滑雪板',1],['高级雕刻技术',1],
答案 0 :(得分:0)
意向数据中有错误,Highcharts不能低估Java脚本字符串,因此您需要解析该字符串。应该是这样的:
...
data: [
['Snowboarding for dummies', 1],
['Advanced Carving Techniques', 1]
],
...
答案 1 :(得分:0)
基于HighChart示例代码,您似乎正在尝试传递具有单个字符串值的数组(数据)。
HighCharts需要2D数组作为数据键。因此,如果您指定:
数据:[['Shanghai',24.2],...]
即“上海”是x轴值,而24.2是y轴值。
现在,如果您要将数据作为字符串传递,则可能需要首先解析该字符串。
{
"query": {
"bool": {
"filter": [
[
{
"terms": {
"userIds": [
8936
]
}
}
]
],
"must_not": [
[
{
"exists": {
"field": "deleted_at"
}
}
]
]
}
},
"size": 10000
}
然后将此数据变量传递给HighChart对象。
祝一切顺利!