当前位置: 首页 > 知识库问答 >
问题:

如何在谷歌饼图中显示前5个值

艾志尚
2023-03-14

null

// Load google charts
google.charts.load('current', {
  'packages': ['corechart']
});
google.charts.setOnLoadCallback(drawChart);

// Draw the chart and set the chart values
function drawChart() {
  var data = google.visualization.arrayToDataTable([
    ['Task', 'Hours per Day'],
    ['Work', 8],
    ['Eat', 2],
    ['TV', 4],
    ['Gym', 2],
    ['Sleep', 8],
    ['walk', 2],
    ['games', 2],
    ['chess', 2],
    ['drink', 4],
    ['dance', 6]
  ]);

  // Optional; add a title and set the width and height of the chart
  var options = {
    'title': 'My Average Day',
    'width': 550,
    'height': 400
  };

  // Display the chart inside the <div> element with id="piechart"
  var chart = new google.visualization.PieChart(document.getElementById('piechart'));
  chart.draw(data, options);
}
<div id="piechart"></div>

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>

null

  1. 我在谷歌图表中展示了10幅不同的作品
  2. 有的比例低,有的比例高
  3. 有没有人可以帮助我如何在google饼图中只显示前5个高百分比值

共有1个答案

羊新翰
2023-03-14

我的解决方案是将值保存到一个数组中,对数组进行排序,然后遍历前五个。

排序:

var a = [['Work', 8],['Eat', 2],['TV', 4],['Gym', 2],['Sleep', 8],['walk', 2],['games', 2],['chess', 2],['drink', 4],['dance', 6]];
a.sort(compareSecondColumn);

function compareSecondColumn(a, b) {
    if (a[1] === b[1]) {
        return 0;
    }
    else {
        return (a[1] > b[1]) ? -1 : 1;
    }
}

对于图表:

var data = google.visualization.arrayToDataTable([
    ['Task', 'Hours per Day'],a[0],a[1],a[2],a[3],a[4]
]);

合起来:

var a = [['Work', 8], ['Eat', 2], ['TV', 4], ['Gym', 2], ['Sleep', 8], ['walk', 2], ['games', 2], ['chess', 2], ['drink', 4], ['dance', 6]];
a.sort(compareSecondColumn);

function compareSecondColumn(a, b) {
    if (a[1] === b[1]) {
        return 0;
    }
    else {
        return (a[1] > b[1]) ? -1 : 1;
    }
}



// Draw the chart and set the chart values
function drawChart() {
    var data = google.visualization.arrayToDataTable([
        ['Task', 'Hours per Day'],a[0],a[1],a[2],a[3],a[4]
        
    ]);
    // Optional; add a title and set the width and height of the chart
    var options = { 'title': 'the title', 'width': 550, 'height': 400 };
    // Display the chart inside the <div> element with id="piechart"
    var chart = new google.visualization.PieChart(document.getElementById('piechart'));
    chart.draw(data, options);
}

有关排序的更多信息,请查看此文章:

https://stackoverflow.com/A/16097058/10958914

 类似资料:
  • 问题内容: 我想在Google Maps android上显示带有多个标记的位置,问题是当我运行我的应用程序时,它只显示一个位置/标记,这是我的代码: 我不知道我的错在哪里,希望有人能帮助我解决我的问题,非常感谢你 问题答案: 用这个: 或者,您也可以使用以下命令: 其中 纬度 和 经度 是存储在数组列表中的具有不同名称的字符串.....

  • 我想用谷歌地图显示多个位置 为了显示一个我会去https://www.maps.google.com/maps?daddr=20.566645.345 类似于 https://www.maps.google.com/maps?daddr=20.566645.345 这可能来自网址吗?

  • 在我的GEOJSON数据层中,我有一组大约20个区域。每个要素都有一个GeometryCollection,其中包含两个几何图形:一个用于定义区域的多边形和一个给出区域中心的点。 我希望多边形是不可见的,但是在地图上显示点作为标记。 此外,我希望能够根据缩放级别将区域标记设置为可见或不可见。 有没有可能只在地图上显示点,并将它们设置为可见/不可见的多边形?我知道我可以用正常的方式将它们添加到地图中

  • 我在使用TIBCO Jaspesoft Studio时遇到了有关谷歌地图的问题。 我正在使用Jasper Studio提供的“地图”组件,并且我已经完成了用户手册中描述的所有必要配置: 要配置属性,请单击添加以打开属性对话框,输入属性的名称和属性的值,然后单击确定。您可以配置以下谷歌地图API属性。有关每个属性的更多信息,请参阅JasperReport®库配置参考:•net.sf.jasperre

  • 我不知道如何用图表来做这件事。js。 请帮帮我。 我的Javascript代码: php代码:

  • 我有一个KMZ,它也包含区域多边形和城市点(12个谷歌引脚),但它们不会出现在地图上,尽管如你所见已打开。如何可见它们?有人能帮我吗? 这是地图:http://goo.gl/maps/Nbrfq 安得烈

  • Highcharts 饼图 以下实例演示了显示图例饼图。 我们在前面的章节已经了解了 Highcharts 基本配置语法。接下来让我们来看下其他的配置。 配置 series 配置 设置 series 的 type 属性为 pie ,series.type 描述了数据列类型。默认值为 "line"。 var series = { type: 'pie' }; plotOptions plo

  • 我有一个带有四个标签的图表: 使用plugin,我想用以下代码显示每个饼图中的百分比值: 我得到的是所有饼片的100%价值,而不是各自的百分比。这是JSFIDLE(https://jsfiddle.net/kingBethal/a1Lvn4eb/7/)