【问题标题】:How to use a javascript variable in highcharts series?如何在 highcharts 系列中使用 javascript 变量?
【发布时间】:2015-10-23 14:43:57
【问题描述】:

我想在 highchart 系列中使用 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', type :'column', yAxis : 1 ,data : [2436]},{name : 'Commité: 1', type :'column', yAxis : 1 ,data : [2510,171]}

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

也许我可以使用 json_parse ?

感谢您的帮助!

【问题讨论】:

    标签: javascript json highcharts series


    【解决方案1】:

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

    series: [{series_b}]
    

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

    series: [series_b]
    

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

    假设该系列没有用花括号括起来,您的原始语法只能容纳一个系列。

    如果不清楚,只需将您的示例 series_b 内容粘贴到 series: [{ }] 部分和 series: [ ] 中,然后查看两者之间的区别。

    例子:

    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]
    }]
    

    【讨论】:

      【解决方案2】:

      创建一个数组 var series=[] 并将您的系列推入 highcharts 并执行以下操作

      代替

      series: [{series_b}]
      

      使用

      series:series_b 
      

      【讨论】:

      • 感谢您的回复。我还是有问题。这是我的 jsfiddle:jsfiddle.net/sdelay/m0u3hcs5/1。我认为这只是语法问题。如果我提醒这个变量(series_b)并将结果写入一个变量并在它工作的系列中使用它(var series_b = [{name:'Commité:0',输入:'column',yAxis:1,data:[ 2436]},{name : 'Commité: 1', type :'column', yAxis : 1 ,data : [2510,171]}]; ) 如果我尝试在系列中直接使用“series_b”,我'有很多系列,..我不知道为什么。您可以取消注释 var series_b 以查看结果。
      • 是的,它的语法问题。正如@jibriggs 所建议的那样,您的系列数据应该是一个对象。而不是 {"1":["{name:"something}]} 它应该是 {[{name:"something" data:[]}} 等跨度>
      猜你喜欢
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多