Saya mencoba meneruskan array angka ke grafik google, array itu ditarik oleh kode ini dari div dengan kelas .likescount

var i, $mvar = $('.likescount'); // using the $ prefix to use the "jQuery wrapped var" convention

function logit( string )
{
    var text = document.createTextNode( string );
    $('.alllikesinrow').append(text);
    $('.alllikesinrow').append("<br>");
}

logit($mvar.length);

for (i=0; i<$mvar.length; i++)    {
    logit($mvar.eq(i).html());
}

Array berfungsi karena saya menggunakan append untuk mencetaknya dan berfungsi, bagian yang sulit adalah meneruskan data itu ke data.addRows, inilah kode lengkap yang saya gunakan, mengatasinya, tetapi tidak pernah berhasil, saya' saya mengikuti orang ini yang membuatnya bekerja cara menambahkan data di google bagan menggunakan javascript ?, tetapi tidak berhasil, bantuan apa pun akan bagus.

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
<script type="text/javascript">
    google.charts.load('current', {'packages':['line']});
google.charts.setOnLoadCallback(drawChart);


function drawChart() {

    var i, $mvar = $('.likescount'); // using the $ prefix to use the "jQuery wrapped var" convention

    x = [];

    for (i=0; i<$mvar.length; i++ )    {

        x.push( ['1', parseFloat($($mvar[i]).text())] );
    }


  var data = new google.visualization.DataTable();
  data.addColumn('string', 'Day');
  data.addColumn('number', 'Likes');

  data.addRows(x);

  var options = {
    chart: {
      title: 'Likes vs Comentarios',
      subtitle: 'Data Magnus by Optimum'
    },

    height: 500
  };

  var chart = new google.charts.Line(document.getElementById('curve_chart'));

  chart.draw(data, google.charts.Line.convertOptions(options), {pointSize: 1});
}
</script>

Terima kasih Rodrigo

EDIT: Diedit dengan kerja keras berkat WhiteHat

5
Rodrigo Zuluaga 14 Agustus 2017, 09:14

2 jawaban

Jawaban Terbaik

addRows mengambil larik larik, yang sedang Anda bangun di sini...

x = [];

for (i=0; i<$mvar.length; i++)    {
    logit($mvar.eq(i).html());
    x.push( ['August', $mvar[i]] );
}

Karena itu, cukup gunakan x untuk addRows...

var data = new google.visualization.DataTable();
data.addColumn('string', 'Day');
data.addColumn('number', 'Likes');

data.addRows(x);

EDIT

Tidak yakin apa isi $('.likescount'),
tetapi jika masing-masing adalah elemen dengan angka, maka coba ...

x.push( ['August', parseFloat($($mvar[i]).text())] );
1
WhiteHat 14 Agustus 2017, 13:05

Coba gunakan google.visualization.arrayToDataTable(array)

Larik berisi larik nilai baris yang akan ditampilkan di bagan

1
justelouise 14 Agustus 2017, 07:21