javascript - 谷歌饼图中的最后一个切片颜色?

标签 javascript charts google-visualization

我正在寻找一种方法来对谷歌饼图中的最后一个切片进行一致的着色。最后一个切片的标题是“其他”,我并不总是知道显示了多少个其他切片。我设置了以下垃圾箱...

http://jsbin.com/sugere/1/

<html>
<head>
<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([
      ['Task', 'Hours per Day'],
      ['Work',     11],
      ['Eat',      2],
      ['Commute',  2],
      ['Watch TV', 2],
      ['Other',    7]
    ]);

    var options = {
      title: 'My Daily Activities'
    };

    var chart = new    google.visualization.PieChart(document.getElementById('piechart'));

    chart.draw(data, options);
  }

  google.setOnLoadCallback(drawChart2);
  function drawChart2() {

    var data = google.visualization.arrayToDataTable([
      ['Task', 'Hours per Day'],
      ['Work',     11],
      ['Eat',      2],
      ['Commute',  2],
      ['Other', 2]
    ]);

    var options = {
      title: 'My Daily Activities 2'
    };

    var chart = new google.visualization.PieChart(document.getElementById('piechart2'));

    chart.draw(data, options);
  }
</script>
</head>
<body>
<div id="piechart" style="width: 900px; height: 500px;"></div>
<div id="piechart2" style="width: 900px; height: 500px;"></div>
</body>
</html>

我考虑将“其他”作为第一个返回的项目,这将允许我定位第一个项目的颜色,但随后我需要某种方法将饼图旋转回来。据我所知,您只能按百分比而不是切片数量来做到这一点。

最佳答案

如果您想更改切片的颜色,您可以在此图表上选择。

链接

https://developers.google.com/chart/interactive/docs/gallery/piechart

示例

slices: [{color: 'black', {}, {}, {color: 'red'}] // order of the slice
slices: {0: {color: 'black'}, 3: {color: 'red'}} // number of the slice

您的代码已修改

我冒昧地更改了第一个图表上的所有颜色,只更改了最后一个切片。

    <html>
<head>
<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([
      ['Task', 'Hours per Day'],
      ['Work',     11],
      ['Eat',      2],
      ['Commute',  2],
      ['Watch TV', 2],
      ['Other',    7]
    ]);

    var options = {
      title: 'My Daily Activities',
       slices: {
            0: { color: 'blue' },
            1: { color: 'red' },
             2: { color: 'orange' },
             3: { color: 'grey' },
             4: { color: 'black' }  

          }
    };

    var chart = new    google.visualization.PieChart(document.getElementById('piechart'));

    chart.draw(data, options);
  }

  google.setOnLoadCallback(drawChart2);
  function drawChart2() {

    var data = google.visualization.arrayToDataTable([
      ['Task', 'Hours per Day'],
      ['Work',     11],
      ['Eat',      2],
      ['Commute',  2],
      ['Other', 2]
    ]);

    var options = {
      title: 'My Daily Activities 2',
       slices: {
             3: { color: 'black' }  

          }
    };

    var chart = new google.visualization.PieChart(document.getElementById('piechart2'));

    chart.draw(data, options);
  }
</script>
</head>
<body>
<div id="piechart" style="width: 900px; height: 500px;"></div>
<div id="piechart2" style="width: 900px; height: 500px;"></div>
</body>
</html>

关于javascript - 谷歌饼图中的最后一个切片颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28684266/

相关文章:

javascript - 将 onclick 事件动态设置为图像列表

charts - 谷歌图表中的半透明颜色?

javascript - 在 c3 中有条件地添加或省略 JavaScript 属性

charts - 如何使用谷歌折线图绘制实时数据

JavaScript:pushState 替换搜索字符串中的静态值

Javascript条件点击事件运行多次

javascript - 计算网站上多个文件的下载次数的最佳方法

javascript - Recharts - 归一化堆叠条形图

php - MySQL 到 JSON 结果为空的 Google 可视化图表

jquery - 字符串过滤器和控件过滤数据多个谷歌图表