Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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_Jquery_Charts_Google Visualization_Google Pie Chart - Fatal编程技术网

Javascript 谷歌饼图百分比计算

Javascript 谷歌饼图百分比计算,javascript,jquery,charts,google-visualization,google-pie-chart,Javascript,Jquery,Charts,Google Visualization,Google Pie Chart,我有一个以饼图形式显示数据的页面。我使用谷歌图表,代码如下: <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCal

我有一个以饼图形式显示数据的页面。我使用谷歌图表,代码如下:

 <script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
      google.load("visualization", "1", {packages:["corechart"]});
      google.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
          ['Product', 'Sale In Percent'],
        ['product2', 5.5],
        ['product3', 7.5],
        ['product4', 1.5],
        ['product5', 8.5],
        ]);

        var options = {
          title: 'Product Sales'
        };

       var chart = new google.visualization.PieChart(document.getElementById('piechart2'));
        chart.draw(data, options);
      }
    </script>
<div id="piechart2" style="width: 700px; height: 400px; position: relative;"></div>

load(“可视化”、“1”、{packages:[“corechart”]});
setOnLoadCallback(drawChart);
函数绘图图(){
var data=google.visualization.arrayToDataTable([
[“产品”,“销售百分比”],
[product2',5.5],
[product3',7.5],
[product4',1.5],
[product5',8.5],
]);
变量选项={
标题:“产品销售”
};
var chart=new google.visualization.PieChart(document.getElementById('piechart2');
图表绘制(数据、选项);
}
这是一把正在使用的JS小提琴:

这里我还有一个产品作为product1,它的值是77。因为这个值总是更高,所以我从图表中省略了它。当我绘制图表时,我们可以看到产品2%变成23.9%,产品3%变成32.6等等。。。。但我想用我在“销售百分比”一栏中给出的数据绘制饼图。(指产品1用5.5等绘制。)
请在这方面帮助我。

您不能有总计小于100%的饼图,因此库假设您传递的值的总和为100%

因为你没有通过77,你的值加起来只有23<代码>5.5/23=23.9%和
7.5/23=32.6%

如果您想让图表显示标签读取您提供的百分比,您需要做的第一件事是将
piesicetext
选项设置为
value
以“切片的定量值”标记切片

接下来,如果要显示带有百分号的标签,只需在图表呈现后手动添加它们,如下所示:

[].slice.call(document.querySelectorAll('#piechart2 path + text'))
        .forEach(function(el) {
            el.textContent += '%';
        });

这里有一个可行的办法:

你想达到什么目标?你想让它画一个部分圆吗?或者像现在这样画,但是标签上显示的是你提供的数字,而不是计算出的百分比?我想要一个带有提供的百分比值的完整圆圈。我明白了。这是一种奇怪的图表,因为标记的百分比与视觉表示不匹配。。。但是我的答案已经更新了,如果这是你想做的。