Что ж, сегодня я столкнулся с проблемой highchart, где я пытаюсь исправить что-то вроде следующего: 1. Я делаю вызов ajax, а затем изменяю данные ряда гистограммы следующим образом:
if(data == 2) {
chart.series[0].setData([
['2009', 140],['2010', 200],['2011', 100],
['2009', -200],['2010', -120],['2011', -240]]);
}
2. Я хочу отобразить эту информацию в зеркальной диаграмме с двумя именами групп «Великобритания», «Австралия», чтобы данные отображались так: Великобритания - 2009, 2010, 2011 и то же самое с AUS 2009, 2010, 2011 (но с отрицательные значения) 3. Демонстрация того, что мне нужно, находится здесь http://www.highcharts.com/demo/column-negative
Короче говоря, если ajax принесет данные = 2 со страницы php, я хотел преобразовать значения гистограммы в отрицательные значения диаграммы с групповым рядом, например, прикрепить демонстрационную ссылку highcahrt.
Ребята, я так долго пытаюсь решить эту проблему, и мне очень нужна помощь. Так что будет здорово, если кто-нибудь знает, как мне поступить с chart.series[0].setData или любым другим методом. Заранее спасибо
Привет, я хочу, чтобы мой график был таким динамически
и я получаю такой ответ сразу после предложения ответа:
Код:
function requestData() {
chart = $('#column_chart').highcharts();
$.ajax({
type: "POST",
url: "graph_advanced_file.php",
data: {sliceName: ch},
success: function(data) {
//store local storage.....
localStorage.setItem("current_item", ch);
//alert(data);
//Now, check whatever data is coming through serve accordingly......to load some data.....of that perticular....
if(data == 1) {
//Travel..so get series data....
<?php
//$each_slice_series = array();
//$each_slice_series = getSliceInfo(1);
//$sliceId = 1;
//call and get the figure....
?>
chart.series[0].setData([
['Mand', 200],
['Sand', 800],
['Land', 700]]);
}
if(data == 2) {
//Garment....So get series data....
var options = {
chart: {
type: 'column'
},
plotOptions: {
series: {
stacking: 'normal'
}
}
};
//Load new options to chart
chart.setOptions(options);
chart.series[0].setData([
['2009', 140],['2010', 200],['2011', 100],
['2009', -200],['2010', -120],['2011', -240]]);
chart.series[0].name="Uk";
chart.series[1].setData([
['2009', 180],['2010', 100],['2011', 150],
['2009', -250],['2010', -130],['2011', -270]]);
chart.addSeries({
name: "AUS",
data: [ ['2009', 180],
['2010', 100],
['2011', 150],
['2009', -250],
['2010', -130],
['2011', -270]]
});
chart.redraw();
//chart.series[0].setData([
//['2009', 140],['2010', 200],['2011', 100],['2012', 130],['2013', 190],['2014', 220],['2015', 230],
//['2009', -200],['2010', -120],['2011', -240],['2012', -220],['2013', -150],['2014', -100],['2015', -250],
//]);
}
Теперь этот requestData вызывается:
$('#column_chart').highcharts({
chart: {
type: 'column',
events: {
load: requestData
//click: changeLables
}
},
title: {
text: 'Total Sale of each products'
},
subtitle: {
text: '(Click on product name to display monthly details)'
},
credits: {
enabled: false
},
xAxis: {
type: 'category'
},
yAxis: {
title: {
text: 'Products Sale'
}
},
legend: {
enabled: false
},
series: [{
name: 'Product Sale',
colorByPoint: true,
data: [{
name: 'Mand',
y: 200<?php //echo $each_slice_series[0];?>
}, {
name: 'Land',
y: 800<?php //echo $each_slice_series[1];?>
}, {
name: 'Sand',
y: 700<?php //echo $each_slice_series[2];?>
}]
}]
});//End of chart......
Дай мне знать
series[1]
он не инициализирован. Вы должны создать его. Щека теперь мой ответ. 30.07.2015column
и добавитьstacking: 'normal'
. Посмотрите пример. 30.07.2015