我有一个简单的水平条形图,我试图在每个水平条形图的左侧放置一个图像,以用作该条形图的标签。
我采取了一个代码示例,将标签添加到条形图的右侧(包含在图像中),并尝试对其进行更新以将图像放置在左侧。
bars.append("image")
.attr("class", "bar_image")
//y position of the image is halfway down the bar
.attr("y", function(d){
return y(d.Candidate) + y.rangeBand() / 2 + 4;
})
//x position to left of bar
.attr("x", function(d) {
return -10;
})
.attr('xlink:href', function(d){
return "/static/images/yang.png";
})
我在这里的理解是,我选择了每个“ bar”元素并附加了一个图像(这是我目前在放置时工作的所有图像)。
我将图像元素的y属性设置为每个y范围的中间范围。这就是右侧标签设置其y attr的方式。 x,现在我只是设置在栏的左侧。然后,将实际的href设置为图像。
我的问题现在与确定图像大小有关,我希望能够基于“条”元素的高度动态设置其高度/宽度。这些高度显然取决于有多少条(此图应按比例放大或缩小到任意数量的人)
显然,定位并不理想,但是现在我很高兴能够根据图表中条形的高度来调整图像的高度/宽度属性。
在选择和链接所选择元素的属性的方法中是否有引用的方法?
感谢您的帮助。
答案 0 :(得分:2)
并不是我想要的,但是我可以设置
attr("height", x)
使用设置条形图高度属性的相同功能的图像元素
.attr("height", y.rangeBand())