是否可以用D3在圆环图的弧中插入一个图标
Is it possible to insert an icon in the arc of a donut chart with D3?
我有一个甜甜圈图,有三个类别(弧形):Facebook(50%)、Twitter(30%)和Instagram(20%)。绘制图表相当容易,但我想知道如何在每个弧中插入一个带有社交网络相应符号的图标(使用D3甚至C3)。
谢谢!
添加图像只是使用的一种情况
...
.append("svg:image")
.attr("xlink:href","myimage.png")
.attr("width", "32")
.attr("height", "32");
您还需要定位(x
和y
)。这些将默认为0,因此您也可以使用translate
,类似这样的东西来找到弧的中心:
.attr("transform", function(d){
return "translate(" + arc.centroid(d) + ")";
});
然而,这只是将图像的右上角固定在弧的中心,因此要使其正确居中,需要使用图像的大小。以下是全部内容:
var image_width = 32;
var image_height = 32;
// add the image
arcs.append("svg:image").attr("transform", function(d){
// Reposition so that the centre of the image (not the top left corner)
// is in the centre of the arc
var x = arc.centroid(d)[0] - image_width/2;
var y = arc.centroid(d)[1] - image_height/2;
return "translate(" + x + "," + y + ")";
})
.attr("xlink:href",function(d) { return d.data.icon;})
.attr("width", image_width)
.attr("height", image_height);
以下是一个示例:http://jsfiddle.net/henbox/88t18rqg/6/
请注意,我已经在图表数据中包含了图像路径。你只需要去寻找合适的图标!
相关文章:
- Javascript更改图标
- 将样式表插入iframe
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- 如何动态插入jquery代码
- 单击更改图标并通过javascript添加一个css类
- 动态插入的表:JQuery未检测到最后一行
- 使用JavaScript动态插入DIV的成本有多高
- 带有填充属性的SVG矩形显示在包含元素的上方插入框阴影
- 我希望只有在我滚动页面后才能显示我的返回页首图标
- 将对象动态插入到现有对象中
- 将数组中的值插入到表中
- 在 Java 中的 JavaScript 函数中插入 Wicket 值
- 我如何在数字插入中使用逗号,这样它就不会'不要破坏我的输入字段
- 使用PHP插入HTML在JavaScript上不起作用
- javascript:将数据库中的数据插入到html5文本字段中
- 如何在文本输入中插入删除图标并实现删除文本
- javaScript-如何将png图标插入标签
- 是否可以用D3在圆环图的弧中插入一个图标
- 如何使下拉箭头(插入符号图标引导)更改单击
- 在引导链接中单击插入符号图标不起作用