- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个页面,其中有 2 个使用 gRaphael 生成的饼图。我还使用几个插件从这些论文中创建一个 .png。我的问题是,不管它总是使用第一张纸,即使我使用了正确的引用(即图像总是第一张图,即使我为第二张图做)。这是我的代码:
//make sure this element exists before creating pie chart
if(document.getElementById("hour_pie"))
{
//extract labels into gRaphael appropriate format
totalArry=new Array();
for(var key in hours_total)
{
totalArry.push(hours_total[key]);
}
//create canvas
var hourPaper = Raphael("hour_pie");
//create pie chart
var hourPie=hourPaper.piechart(
hourPaper.width/2, // pie center x coordinate
hourPaper.height/2, // pie center y coordinate
200, // pie radius
totalArry, // values
{
legend: hours_pie_labels
}
);
// hover animation
hourPie.hover(function () {
this.sector.stop();
this.sector.scale(1.1, 1.1, this.cx, this.cy);
if (this.label) {
this.label[0].stop();
this.label[0].attr({ r: 7.5 });
this.label[1].attr({ "font-weight": 800 });
}
}, function () {
this.sector.animate({ transform: 's1 1 ' + this.cx + ' ' + this.cy }, 500, "bounce");
if (this.label) {
this.label[0].animate({ r: 5 }, 500, "bounce");
this.label[1].attr({ "font-weight": 400 });
}
});
//on click of this img, convert canvas to .png and prompt download
$('.hour_download').click(function()
{
// turn svg into PNG
SVGtoPNG(hourPaper.toSVG(), "hourPieGraph");
});
}
if(document.getElementById("explosive_pie"))
{
//extract labels into gRaphael appropriate format
totalArry=new Array();
for(var key in explosive_totals)
{
totalArry.push(explosive_totals[key]);
}
//create canvas
var explosivePaper = Raphael("explosive_pie");
//create pie chart
var explosivePie=explosivePaper.piechart(
explosivePaper.width/2, // pie center x coordinate
explosivePaper.height/2, // pie center y coordinate
200, // pie radius
totalArry, // values
{
legend: explosive_pie_labels
}
);
// hover animation
explosivePie.hover(function () {
this.sector.stop();
this.sector.scale(1.1, 1.1, this.cx, this.cy);
if (this.label) {
this.label[0].stop();
this.label[0].attr({ r: 7.5 });
this.label[1].attr({ "font-weight": 800 });
}
}, function () {
this.sector.animate({ transform: 's1 1 ' + this.cx + ' ' + this.cy }, 500, "bounce");
if (this.label) {
this.label[0].animate({ r: 5 }, 500, "bounce");
this.label[1].attr({ "font-weight": 400 });
}
});
//on click of this img, convert canvas to .png and prompt download
$('.explosive_download').click(function()
{
// turn svg into PNG
SVGtoPNG(explosivePaper.toSVG(), "explosivePieGraph");
});
}
和 HTML:
<div id="hour_pie" class="pie_chart"></div><img class="download_image hour_download" title="Download this graph" src="/images/download_small.png"></img>
<div id="explosive_pie" class="pie_chart" ></div><img class="download_image explosive_download" title="Download this graph" src="/images/download_small.png"></img>
<style type="text/css">
.pie_chart
{
width:1000px;
height:450px;
}
.download_image
{
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
最佳答案
我遇到的问题是我从 xml 中提取 Canvas 的方式造成的。正如我发现的那样,多个 Canvas 存储在一个数组中,它们不会单独从文档中返回(事后看来这是有道理的)。因此,根据我的实现,我需要知道要转换为 .png 的 Canvas 的索引。这是在 SVGtoPNG 函数中。更具体地说,关于行 var svgElement = document.body.getElementsByTagName("svg")[1]; 0 是我的第一个 Canvas ,1 是第二个 Canvas ,等等。
function SVGtoPNG(xml, name) {
try
{
//add canvas into body
var canvas = document.createElement('canvas');
canvas.id = "myCanvas";
document.body.appendChild(canvas);
//default is 'xml' (used for IE8)
var finalSvg=xml;
// IE8 is special and a pain in the ass
if(BrowserDetect.browser==="Explorer" && BrowserDetect.version===8)
{
FlashCanvas.initElement(canvas);
}
else
{
//serialize svg
var svgElement = document.body.getElementsByTagName("svg")[1];
var svgXml = (new XMLSerializer()).serializeToString(svgElement);
finalSvg = svgXml.FixForRaphael();
}
关于javascript - gRaphael:无法访问多篇论文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18154791/
我在这里的意图是创建一个单线程的 will-make-you-a-better-programmer-just-for-reading 之类的 文章 或 论文 或 真正站起来的博文作者付出了很多努力来
我想知道是否有人有很好的资源可以阅读或编写代码来试验“自动完成” 我想知道自动完成背后的理论是什么,从哪里开始什么是常见的错误等。 我发现 Enso、Launchy、Google chrome 甚至
市场上有许多工具,如 MPS,它们促进了面向语言的编程,据说这使程序员能够为任务设计(理想的?)语言。出于某种原因,这听起来既有趣又无聊,所以我想知道是否有人知道并可以推荐有关该主题的文章。 谢谢 最
我正在编写一个使用 JointJS 来显示图表的应用。 但是,我希望能够在页面中动态添加和删除图表。添加新图表相当简单,但是当我删除图表时,删除 DOM 元素并让图表和纸张对象被垃圾收集是否安全? 最
我在声明非成员函数listOverview()时出错; void listOverview() { std::cout #include class Book; class Paper
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 3 年前。 Improve this qu
我正在将 Raphael 与 Meteor 一起使用,但遇到了问题。我正在创建一个 paper通过使用 var paper = Raphael("paper", 800, 600);如果我将此代码放在
我正在使用acm LaTeX template我在使纸张双倍行距时遇到困难。 我的 LaTeX 文档如下所示: \documentclass{acm_proc_article-sp} \usepack
H.Chi Wong、Marshall Bern 和 David Goldberg 的论文“An Image Signature for any kind image”中提到的算法步骤背后的原因是什么
我一直在使用Microsoft Academic Knoledge API一周了,直到现在我还没有遇到任何问题。我想获取某个 session 的所有论文,例如 ICLR 或 ICML。我正在尝试使用从
我正在读这篇论文Understanding Deep learning requires rethinking generalization我不明白为什么在第 5 页第 2.2 节“含义、Redema
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我必须为非程序员(我们公司的客户)创建一个 DSL,它需要提供一些更高级别的语言功能(循环、条件表达式、变量...... - 所以它不仅仅是一个“简单”的 DSL)。 使用 DSL 应该很容易;人们应
在卷积神经网络中梯度数据的可视化中,使用 Caffe 框架,已经可视化了所有类的梯度数据,对特定类采用梯度很有趣。在“bvlc_reference_caffenet”模型的 deploy.protot
auto(x)表达式被添加到语言中。一个理性的原因是我们无法以此完善前向衰减。 template constexpr decay_t decay_copy(T&& v) noexcept( i
我是一名优秀的程序员,十分优秀!