如何在highcharts系列中使用javascript变量?

时间:2015-10-23 14:43:58

标签: javascript json highcharts series

我想在高图系列中使用javascript变量,但它似乎不起作用:

function groupBar(n) {
	var nu;
	nu = parseInt(n); 

	var series_b_tab =  <?php echo json_encode($series_bar)?>; 
	
	var series_b = series_b_tab[n];
	series_b = series_b.join(",");
		
    $('#bar_project_'+n).highcharts({
      
        chart: {
            type: 'column',
            height : 300,
            width: 500
        },
        title: {
            text: 'Logements connectés'
        },
        subtitle: {
            text: 'Source: Valenciennes Métropole'
        },
        xAxis: {
            categories: [<?php echo join($legend_bar,',') ?>],
            title: {
                text: null
            },
            labels: {
             	rotation: -45,
            	style: {
                    fontSize: '9px'
                }
            }
        },
        yAxis: [
        {
            min: 0,
            //max: 8000,
            labels:{
                style :{
                    color: 'red'
                }
            },
            title: {
                
                text: 'Nombre de connexions par type',
                align: 'middle'
            },
            labels: {
                overflow: 'justify'
            },
            opposite: true
        },
        // second yAxis
        {
            min: 0,
            //max: 70,
            labels:{
                style :{
                    color: 'red'
                }
            },
            title: {
            	text: 'Pourcentage (%)',
                align: 'middle'
            },
            labels: {
                overflow: 'justify'
            }
        }],
        tooltip: {
            valueSuffix: ' %'
        },
        legend: {
            layout: 'vertical',
            align: 'left',
            verticalAlign: 'top',
            x: 50,
            y: 60,
            floating: true,
            borderWidth: 1,
            backgroundColor: '#FFFFFF',
            shadow: true,
            itemStyle: {
                color: 'black', 
                fontSize: '9px'
            }
        },
        
        plotOptions: {
            series: {
                animation: false
            },
        },
  
        series: [{series_b}]
 

    });
};

当n = 1时,series_b_tab [n]的例子是这样的:

{name:'Commité:0',输入:'column',yAxis:1,data:[2436]},{name:'Commité:1',type:'column',yAxis:1,data: [2510,171]}

我不知道如何将series_b的内容串联起来。

也许我可以使用json_parse?

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

根据您的代码,您当前的设置是:

series: [{series_b}]

如果您series_b变量内容的示例准确无误,那么您需要的是:

series: [series_b]

由于每组花括号{}都包含一个系列,并且您的系列已经封装,并且有多个系列。

原始语法只能容纳一个系列,假设系列没有用花括号包裹。

如果情况不明确,只需将示例series_b内容粘贴到series: [{ }]部分内,也粘贴在series: [ ]内,然后查看两者之间的差异。< / p>

示例:

Original way:
series: [{
    {
        name : ' Commité : 0', 
        type :'column', 
        yAxis : 1 ,
        data : [2436]
    },{
        name : ' Commité : 1', 
        type :'column', 
        yAxis : 1 ,
        data : [2510,171]
    }
}]

Proper way:
series: [{
    name : ' Commité : 0', 
    type :'column', 
    yAxis : 1 ,
    data : [2436]
},{
    name : ' Commité : 1', 
    type :'column', 
    yAxis : 1 ,
    data : [2510,171]
}]

答案 1 :(得分:0)

创建一个数组var series = []并将你的系列推入并在高级图表中执行以下操作

而不是

series: [{series_b}]

使用

series:series_b