Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何实现谷歌饼图(带图例显示和相应值)_Javascript_Json_Html_Google Api - Fatal编程技术网

Javascript 如何实现谷歌饼图(带图例显示和相应值)

Javascript 如何实现谷歌饼图(带图例显示和相应值),javascript,json,html,google-api,Javascript,Json,Html,Google Api,我使用数据库中的json数据创建了谷歌饼图。饼图是用图例名称创建的,但我还想显示带有值的图例,即除了饼图之外还有值的名称。我正在尝试不同的东西,但我完全被这个问题难住了 我正在实现的谷歌饼图代码是(代码片段):- 功能图(数据) { var hi_cnt=data.length; var gdata=new google.visualization.DataTable(); var合计=0; addColumn('string','Task'); gdata.addColumn('数字','每天

我使用数据库中的json数据创建了谷歌饼图。饼图是用图例名称创建的,但我还想显示带有值的图例,即除了饼图之外还有值的名称。我正在尝试不同的东西,但我完全被这个问题难住了

我正在实现的谷歌饼图代码是(代码片段):-

功能图(数据)
{
var hi_cnt=data.length;
var gdata=new google.visualization.DataTable();
var合计=0;
addColumn('string','Task');
gdata.addColumn('数字','每天小时');
gdata.addRows(hi_cnt);
对于(变量i=0;i

有人能帮我吗?

我想你可以试试以下方法:-

var total = 0;
for (var i = 0; i < data.getNumberOfRows(); i++) {

    total += data.getValue(i, 1);

    // get the data
    var label = data.getValue(i, 0);
    var value = data.getValue(i, 1);
    var percent = Math.ceil(1000 * value / total) / 10;

    // This will create legend list for the display
    lis[i] = document.createElement('li');
    lis[i].id = 'legend_' + data.getValue(i, 0);
    lis[i].innerHTML = '<div class="legendMarker" style="background-color:' + colors[i] + ';"></div>' + label + ': ' + value + ' (' + percent + '%)</span>';


    legend.appendChild(lis[i]);
}
var总计=0;
对于(var i=0;i

请告诉我它是否正确。

我猜您可以尝试以下方法:-

var total = 0;
for (var i = 0; i < data.getNumberOfRows(); i++) {

    total += data.getValue(i, 1);

    // get the data
    var label = data.getValue(i, 0);
    var value = data.getValue(i, 1);
    var percent = Math.ceil(1000 * value / total) / 10;

    // This will create legend list for the display
    lis[i] = document.createElement('li');
    lis[i].id = 'legend_' + data.getValue(i, 0);
    lis[i].innerHTML = '<div class="legendMarker" style="background-color:' + colors[i] + ';"></div>' + label + ': ' + value + ' (' + percent + '%)</span>';


    legend.appendChild(lis[i]);
}
var总计=0;
对于(var i=0;i
请让我知道它是否正确