Transmettre des Données Chaîne de caractères comme paramètre à une Fonction pour HighCharts

Je sais que ce titre semble un peu bizarre, je ne pouvais pas l'expliquer mieux.

Voici ce dont j'ai besoin. J'ai cette fonction javascript et j'ai besoin de transmettre les données en tant que variable de Chaîne:

var chart;
function drawChart() {
    chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            plotBackgroundColor: null,
            plotBorderWidth: null,
            plotShadow: false
        },
        series: [{
            type: 'pie',
            name: 'Browser share',
            data: [
                ['Firefox',   45.0],
                ['IE',       26.8],
                {
                    name: 'Chrome',
                    y: 12.8,
                    sliced: true,
                    selected: true
                },
                ['Safari',    8.5],
                ['Opera',     6.2],
                ['Others',   0.7]
            ]
        }]
    });
}

J'ai besoin de passer ce paramètre à ma fonction

[
['Firefox', 45.0],
["IE", de 26,8],
{
nom: 'Chrome',
y: 12.8,
tranché: c'est vrai,
sélectionné: vrai
},
['Safari', 8.5],
['Opera', 6.2],
[Les "autres", 0.7]
]

Comment puis-je le faire?

Je veux qu'il ressemble à quelque chose comme ceci

var chart;
function drawChart(dataString) {
    chart = new Highcharts.Chart({
        chart: {
            renderTo: 'container',
            plotBackgroundColor: null,
            plotBorderWidth: null,
            plotShadow: false
        },
        title: {
            text: 'Browser market shares at a specific website, 2010'
        },
        tooltip: {
            pointFormat: '{series.name}: <b>{point.percentage}%</b>',
            percentageDecimals: 1
        },
        plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                    enabled: true,
                    color: '#000000',
                    connectorColor: '#000000',
                    formatter: function() {
                        return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
                    }
                }
            }
        },
        series: [{
            type: 'pie',
            name: 'Browser share',
            data: dataString
        }]
    });
}

J'ai essayé la solution de @moonwave99 :

var browsers = [
 ['Firefox',   45.0],
 ['IE',       26.8],
 {
     name: 'Chrome',
     y: 12.8,
     sliced: true,
     selected: true
 },
 ['Safari',    8.5],
 ['Opera',     6.2],
 ['Others',   0.7]
];

et

...........
        series: [{
            type: 'pie',
            name: 'Browser share',
            data:  JSON.stringify(browsers) 
        }]
............

Et mon résultat est: est-ce

Transmettre des Données Chaîne de caractères comme paramètre à une Fonction pour HighCharts

Solution : http://jsfiddle.net/USzVy/1/

var browsers = [
 ['Firefox',   45.0],
 ['IE',       26.8],
 {
     name: 'Chrome',
     y: 12.8,
     sliced: true,
     selected: true
 },
 ['Safari',    8.5],
 ['Opera',     6.2],
 ['Others',   0.7]
];


function drawChart() {
var data_str = JSON.stringify(browsers);

    var options ={
        chart: {
            renderTo: 'container',
            plotBackgroundColor: null,
            plotBorderWidth: null,
            plotShadow: false
        },
        series: [{
            type: 'pie',
            name: 'Browser share',
            data: JSON.parse(data_str)
        }]
    }

  chart = new Highcharts.Chart(options);
}

Grâce

Par pas de dire que vous avez besoin d'une chaîne, regarde bibliothèque de l'API.

OriginalL'auteur MaVRoSCy | 2012-09-27