草庐IT

javascript - canvg 生成的 Canvas 在视网膜屏幕上模糊

我正在使用Raphael绘制对象,然后使用canvg将其传输到HTMLcanvas元素,以便我可以使用toDataURL将其保存为PNG。但是当我使用canvg时,生成的图像很模糊。例如,下面的代码产生了这个(顶部是raphael,底部是canvg):vartest=Raphael("raph_canvas",50,50);varrect=test.rect(0,0,50,50);rect.attr({fill:'#fff000','fill-opacity':1,'stroke-width':1})window.onload=function(){varcanvas_svg=test

javascript - 使用 d3 的轴标签的多级/分组

我想知道是否有一种简单的方法可以在d3中添加多级/分层/分组的轴标签。例如,如果我有一个折线图,其中x轴的月份名称跨越多年,我还希望将年份作为月份名称下方的标签,因此它看起来像这样。OctNovDecJanFebMarApr|_____________||___________________|20112012我知道你可以在SVG中做任何事情来让它工作,但我想尽可能多地使用d3,这样动态更新图表就容易得多。谢谢,jack 最佳答案 您可以根据需要添加和格式化多个轴。例如-显示一个轴显示月份,另一个轴显示年份。一个基本示例:http:

javascript - 将 src 内容动态加载到 SVG 图像

我在浏览器中呈现了一个SVG。我想按照在http://jsfiddle.net/dt1510/pXA9P/1/上的尝试动态更改其内容.在console.debug中,内容已更改,但在浏览器中是相同的。​varsrcAirline="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD0AAAA9CAYAAAAeYmHpAAADD0lEQVR42u2aq3LrMBCG+0oH9hUOPK9QWFhYemBhYWhhYWBpYGBgqGGgYduv039mq65l+SY7sjXjcS62pW/1e6Vd6eZ9heVGH46nS/FHdal/Qv

javascript - 将 SVG 路径转换为绝对命令

给定一个SVG路径元素,如何将所有路径命令转换为绝对坐标?例如,转换此路径:进入这个等效路径:这个问题的动机是thisquestion. 最佳答案 这是我想出的JavaScript代码:functionconvertToAbsolute(path){varx0,y0,x1,y1,x2,y2,segs=path.pathSegList;for(varx=0,y=0,i=0,len=segs.numberOfItems;i像这样使用问题的路径:varpath=document.querySelector('path');convertT

javascript - 如何移动 SVG 在 D3 中的位置?

我使用D3创建了一个svg。然而,它只出现在屏幕的左上角,或者被附加到另一个svg上。无论如何我可以使用JavaScript移动它吗?例如:varsvg=d3.select("body").append("svg").attr("width",200).attr("height",200); 最佳答案 使用d3js+Jquery://svgdesignvarsvg=d3.select("#chart").append("svg").attr("width",200).attr("height",200);//svgrepositio

javascript - 根据内容调整 SVG 元素的大小

我想根据其内容调整SVG元素的尺寸。JSfiddle:http://jsfiddle.net/4pD9N/这里我有一个例子。SVG应该“缩小”以适应元素+每边10px的边距。换句话说:我想为未使用的空间裁剪svg...我知道我必须使用getBBox。但是如何计算总宽度和高度呢? 最佳答案 默认情况下,SVG绘图的原点与容器的原点相同。这意味着您绘图的(0,0)位于SVG元素的左上角。要使内容居中,您应该相对于容器平移绘图。可以通过相对于getBBox的结果修改SVG元素的viewBox属性(期望四个值:"minxminywidthh

javascript - D3 桑基图使用圆形节点代替矩形节点

我想使用Sankey图表,但使用圆形而不是矩形。我正在按照MikeBostock中的示例进行操作.我通过设置半径更改了那里的代码以使用圆,但是如何将连接节点的线放置在圆周围。任何线索。谢谢。 最佳答案 首先,我想告诉你,我喜欢你的想法。我将引导您完成几个简单的步骤,以获得一个像样的带圆圈的桑基图。最终结果可能不适合您的应用程序,但我想它可能对您作为起点有用。一旦您了解了d3Sankey插件的内部和外部功能,您应该能够准确地构建您设计和希望的内容。起点linktojsfiddle这只是一个基本的Sankey示例。我在jsfiddle中

javascript - d3 中带有弯头连接器的树/树状图

我是d3.js(和一般的SVG)的新手,我想做一些简单的事情:一个带有Angular连接器的树/树状图。我已经从这里拆解了d3示例:http://mbostock.github.com/d3/ex/cluster.html我想让它更像这里的protovis示例:http://mbostock.github.com/protovis/ex/indent.htmlhttp://mbostock.github.com/protovis/ex/dendrogram.html我从这里开始:http://jsbin.com/ugacud/2/edit#javascript,html我认为以下片段是

javascript - 如何防止默认工具提示悬停在 svg 元素上?

我正在尝试显示在HTML页面中绘制的交互式SVG图像。我没有使用javascript/jQuery语言的经验,但使用PowerTip等一些jQuery插件,我目前能够在将鼠标悬停在SVG元素上时显示自定义工具提示。自定义工具提示出现,但一秒钟后消失,当它们被默认工具提示的外观(在所有浏览器中)关闭时,只显示“标题”元素的内容。有没有办法禁用默认工具提示?下面是我使用PowerTip显示自定义工具提示的方法。$('#myGraph.node').on({powerTipPreRender:function(){vartitle="";$('atext',this).each(functi

javascript - 为 svg :image 设置圆 Angular

我正在尝试使用d3.js为ssvg:image(嵌入在SVG中的图像)制作圆Angular。我找不到如何正确设置图像样式的方法,因为根据W3C规范,我应该能够使用CSS,但较窄的边框和圆Angular边缘对我来说都适用。提前致谢。vis.append("svg:image").attr("width",width/3).attr("height",height-10).attr("y",5).attr("x",5).attr("style","border:1pxsolidblack;border-radius:15px;").attr("xlink:href","http://www