我正在尝试将 Google 图表转换为类似 this link 的图像但我不明白这一行
var ChartArea = ChartContainer.getElementsByTagName('iframe')[0].contentDocument.getElementById('chartArea');
Google Chart 生成的代码不会创建任何 iFrame
或名为 chartArea
的元素
有人可以帮助我吗?
已更新
按照图表生成的来源,当我把他转换成图像
http://chart.googleapis.com/chart?cht=lc&chs=500x200&chtt=Acessos%20ao%20im%C3%B3vel%20dos%20ultimos%20sete%20dias&chxt=x%2Cy&chxl=0%3A%7C24%2F01%7C25%2F01%7C26%2F01%7C27%2F01%7C28%2F01%7C29%2F01%7C30%2F01%7C1%3A%7C%7C0%7C&chdlp=r&chdl=San%7CSite%7CAtendimento&chco=ff8a00%2C585857%2C5501ff&chd=e%3Af.f.f.f.f.f.f.%2Cf.f.f.f.f.f.f.%2Cf.f.f.f.f.f.f.
最佳答案
这可以通过执行 this page 上的步骤来完成。 。请注意,本文中的代码基于使用 iframe 的旧版 Google Visualization,并且不会像发布的那样工作。但是,您可以使用以下代码(在注释中找到)执行相同的操作:
var svg = $(chartContainer).find('svg').parent().html();
var doc = chartContainer.ownerDocument;
var canvas = doc.createElement('canvas');
canvas.setAttribute('style', 'position: absolute; ' + '');
doc.body.appendChild(canvas);
canvg(canvas, svg);
var imgData = canvas.toDataURL("image/png");
canvas.parentNode.removeChild(canvas);
return imgData;
注意:我没有创建此代码,它最初是由上述网站的作者 (Riccardo Govoni) 创建的,并由用户 Thomas 在评论部分进行了更新。
关于javascript - 将 Google 图表转换为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14631821/