4

我正在尝试使我用谷歌图表制作的一些图表的背景透明。它们在除 IE7 和 8 之外的所有应用中都能完美运行,我得到了白色背景。

我已经尝试了所有我能找到的颜色属性组合来改变它,但没有任何效果。

唯一需要尝试的是几个月前有人在这里为其他有同样问题的人提出的建议。他们的建议是...

对于透明背景,使用 chf=bg,s,FFFFFF00

但我不知道如何实现这个?

4

2 回答 2

13

chf=bg,s,FFFFFF00

是旧Google Image Charts的代码。

这些代码仅适用于非 SVG 版本的图表。Google Image Charts 已被弃用(您可以从他们的帮助页面中看到),因此除非您想实现旧式图表,否则您将无法在新的、精美的交互式 SVG 图表上实现上述代码。

对于新的精美 SVG 图表,我很幸运

backgroundColor: "transparent"

将其复制粘贴到 Google Playground 进行测试:

<!--
You are free to copy and use this sample in accordance with the terms of the
Apache license (http://www.apache.org/licenses/LICENSE-2.0.html)
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <title>
      Google Visualization API Sample
    </title>
    <script type="text/javascript" src="http://www.google.com/jsapi"></script>
    <script type="text/javascript">
      google.load('visualization', '1', {packages: ['corechart']});
    </script>
    <script type="text/javascript">
      function drawVisualization() {
        // Create and populate the data table.
        var data = google.visualization.arrayToDataTable([
          ['Year', 'Austria', 'Bulgaria', 'Denmark', 'Greece'],
          ['2003',  1336060,    400361,    1001582,   997974],
          ['2004',  1538156,    366849,    1119450,   941795],
          ['2005',  1576579,    440514,    993360,    930593],
          ['2006',  1600652,    434552,    1004163,   897127],
          ['2007',  1968113,    393032,    979198,    1080887],
          ['2008',  1901067,    517206,    916965,    1056036]
        ]);

        // Create and draw the visualization.
        new google.visualization.BarChart(document.getElementById('visualization')).
            draw(data,
                 {title:"Yearly Coffee Consumption by Country",
                  width:600, height:400,
                  vAxis: {title: "Year"},
                  hAxis: {title: "Cups"},
                  backgroundColor: "transparent"}
            );
      }


      google.setOnLoadCallback(drawVisualization);
    </script>
  </head>
  <body style="font-family: Arial;border: 0 none;" bgcolor="#E6E6FA">
    <div id="visualization" style="width: 600px; height: 400px;"></div>
  </body>
</html>

这只是添加了两件事的标准条形图示例:

  1. bgcolor="#E6E6FA" 到 body 元素(将其设为蓝色,以便我们判断是否透明)
  2. backgroundColor="transparent" 到选项(使其透明)

这适用于火狐。我不知道它是否适用于IE7(无测试环境)。让我们知道它是否有效。

于 2013-01-23T06:37:39.200 回答
2

在饼图所在的配置文件中进行适当的更改。我在 donate.php 下有这个图表作为示例:

$chartURL = 'http://chart.apis.google.com/chart?chf=bg,s,f9faf7&amp;cht=p&amp;chd=t:'.$percent.',-'.(100-$percent).'&amp;chs=200x200&amp;chco=639600&amp;chp=1.57';

$chartURL = 'http://chart.apis.google.com/chart?chf=bg,s,FFFFFF00&amp;cht=p&amp;chd=t:'.$percent.',-'.(100-$percent).'&amp;chs=200x200&amp;chco=639600&amp;chp=1.57';

当它是白色背景时,该代码让我有透明度!谢谢你。

于 2014-03-04T01:38:39.507 回答