Получение значения Json-данных в Highchart имени серии

#javascript #json #highcharts

#javascript #json #highcharts

Вопрос:

У меня есть данные Json :

 0: {nama: "Democrats", drilldown: "Democrats-2010", y: 17}
    drilldown: "Democrats-2010"
    nama: "Democrats"
    y: 17

1: {nama: "Other", drilldown: "Other-2010", y: 14}
   drilldown: "Other-2010"
   nama: "Other"
   y: 14

2: {nama: "Republican", drilldown: "Republican-2010", y: 11}
   drilldown: "Republican-2010"
   nama: "Republican"
   y: 11
  

как получить значение «nama«, которое будет применено к ряду данных highchart

Комментарии:

1. Вы уверены, что форматирование данных в формате json является правильным? Пожалуйста, переформатируйте ваши данные json. Я вижу, что есть дублированные данные. Один с индексом, а другой без индекса.

Ответ №1:

Вам необходимо адаптировать свои JSON-данные к формату, требуемому Highcharts. Пример:

     series: [{
        data: data.map(el => ({
            name: el.nama,
            drilldown: el.drilldown,
            y: el.y
        }))
    }],
    xAxis: {
        type: 'category'
    }
  

Живая демонстрация: http: //jsfiddle.net/blackLabel/ncxe1h36/

Ссылка на API: https: //api.highcharts.com/highcharts/series.column.data

Ответ №2:

Я предположил, что вам понадобится гистограмма, и я ее создал. И я предположил, что следующие данные — это то, что вы хотите построить с помощью гистограммы. Я использовал jQuery для хранения ваших jsonData в массиве, чтобы вы могли видеть пошаговые инструкции.

Отредактировано: вот jsFiddle, https://jsfiddle.net/kopigod/vn4abw92/1 /

 var namaArray = [],
    yArray = [];

var jsonData = [
    {nama: "Democrats", drilldown: "Democrats-2010", y: 17},
    {nama: "Other", drilldown: "Other-2010", y: 14},
    {nama: "Republican", drilldown: "Republican-2010", y: 11}
];

$.each(jsonData, function(index, value){
  namaArray.push(value.nama);
  yArray.push(value.y);
});


Highcharts.chart('YourChartIdInHTML', {
    chart: {
        type: 'column'
    },
    title: {
        text: 'Your main title'
    },
    xAxis: {
        categories: namaArray
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Y-axis Title'
        }
    },
    plotOptions: {
        column: {
            pointPadding: 0.2,
            borderWidth: 0
        }
    },
    series: [{
     name: "Test",
     data: yArray
    }]
});
  

Конечно, HighChart позволяет настраивать текст при наведении курсора мыши на панель.

Комментарии:

1. серия: [{ имя: nama /// получить значение данных nama: yArray }] Я имею в виду имя: введите имя значения, например: серия: [{ имя: «Демократы», данные: 17 }]

2. серия из моей категории называется Test . У вас может быть несколько категорий, вам просто нужно записать в виде массива.