从谷歌api图表获取图像

时间:2016-07-19 16:35:31

标签: c# google-visualization

我在服务器上运行了c#代码,我需要使用google api chart生成一些图表,然后将它们保存到服务器上的图像中。

我记得Google API Chart有一个向导,您可以在其中创建图表,但现在它是100%javascript所以不知道是否有办法实现它。

这可能吗?

感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

'ready'点击chart后,

您可以使用getImageURI获得基本64字符串,
可以保存为.PNG,
或包含在img标记中,
如下例所示......

要使用frozen version,您可以将'current'替换为最新的保存 - '45'

google.charts.load('current', {
  callback: function () {
    var data = new google.visualization.DataTable();
    data.addColumn('date', 'Date');
    data.addColumn('number', '2005');
    data.addColumn('number', '2006');
    data.addRows([
       [new Date('01/01/2016'), 200, 210],
       [new Date('01/02/2016'), 190, 220],
       [new Date('01/03/2016'), 205, 200],
       [new Date('01/04/2016'), 220, 230],
       [new Date('01/05/2016'), 212, 210],
       [new Date('01/06/2016'), 185, 193],
       [new Date('01/07/2016'), 196, 207]
    ]);
    var options = {
      height: 400
    };

    var chart = new google.visualization.LineChart(document.getElementById('chart_div'));

    google.visualization.events.addListener(chart, 'ready', function () {
      document.getElementById('image_div').innerHTML = '<img alt="Chart" src="' + chart.getImageURI() + '">';
    });

    chart.draw(data, options);
  },
  packages: ['corechart']
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div>Chart</div>
<div id="chart_div"></div>
<div>Image</div>
<div id="image_div"></div>

答案 1 :(得分:0)

不推荐使用静态图表API,向导离线一段时间:https://developers.google.com/chart/image/docs/chart_wizard

但API仍然有效,而且图库文档可以帮助您: https://developers.google.com/chart/image/docs/gallery/chart_gall