2017-08-14 59 views
5

我試圖數字數組傳遞給谷歌的圖表,該陣列是由該代碼從一個div拉帶.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()); 
} 

該陣列工作,因爲一個類即時通訊使用append打印它和它的工作,最難的部分是將數據傳遞給data.addRows,繼承我使用的完整代碼,解決它,但從來沒有它的工作,我跟隨這個傢伙得到它的工作how to add data in google charts using javascript ?,但沒有運氣,任何幫助將是偉大的。

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

感謝羅德里戈

編輯:與工作推編輯感謝的WhiteHat

回答

1

addRows需要一個數組的數組,這是你在這裏建什麼...

x = []; 

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

因此,簡單地使用xaddRows ...

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

data.addRows(x); 

編輯

不確定什麼$('.likescount')包含,
但如果每個是e用數字lement,然後嘗試...

x.push(['August', parseFloat($($mvar[i]).text())]); 
+0

感謝您的信息,你有權data.addRows(x); ,謝謝你,即時通訊有麻煩的是這個字符串x.push(['八月',$ mvar [i]]); $ mvar [i]不是該推送的正確變量,即時通訊仍然沒有獲取數據。任何額外的幫助將是很好的謝謝。 –

+0

看到__EDIT__上面,否則,請分享'$('。likescount')'樣品'... – WhiteHat

+0

謝謝男人偉大的答案,我想問你另一件事,我想渲染更多colums與推,但我不好編程,我這樣做,但它是錯誤的 var i,$ mvar = $('。likescount'); var b,$ mvarcom = $('。comcount'); x = [];對於(i = 0; i <$ mvar.length; i ++; b = 0; b <$ mvarcom.length; b ++)x.push(['1',parseFloat($($ mvar [i ])。text()),parseFloat($($ mvarcom [b])。text())]); } –

1

嘗試使用google.visualization.arrayToDataTable(陣列)

數組包含要在圖表中顯示的行值數組