HighCharts - неверный или неожиданный токен - PullRequest
0 голосов
/ 02 января 2019

Я создал верхнюю диаграмму, используя код из следующей скрипки, но изменил данные на строку Java (которая тянет в порядке), но получаю сообщение об ошибке «uncaught syntax error: invalid or неожиданный токен»

https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/demo/column-rotated-labels/

Когда я нажимаю на ошибку, она загружает эти источники консоли и указывает на тег «data»:

 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], ['Advanced Carving Techniques', 1],

Ответы [ 2 ]

0 голосов
/ 02 января 2019

На основании примера кода HighChart кажется, что вы пытаетесь передать массив (данные) с одним строковым значением.

HighCharts ожидает двумерный массив в качестве ключа данных.Поэтому, если вы укажете:

data: [['Shanghai', 24.2], ...]

т.е. "Shanghai" - это значение по оси X, а 24,2 - это значение по оси Y,

Теперь, если вы хотите передать данные в виде строки, вы можете сначала проанализировать строку.

var data=JSON.parse("[[\"Snowboarding for dummies\", 1], [\"Advanced Carving Techniques\", 1]]");

А затем передать эту переменную данных объекту HighChart.

Всего наилучшего!

0 голосов
/ 02 января 2019

В данных серии есть ошибка, Highcharts не может прервать строку Javascript, поэтому вам нужно будет проанализировать строку.Должно быть так:

...
    data: [
        ['Snowboarding for dummies', 1], 
        ['Advanced Carving Techniques', 1]
    ],
...

Fiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...