D3.js 使用d3的水平图例在右侧被截断
根据here()代码,我创建了一个水平图例 代码如下 但它会被剪成合适的尺寸。如果可用宽度小于图例宽度,如何确保它转到下一行 此外,我已经查看了这个问题(),但无法考虑如何在我的案例中使用相同的问题。D3.js 使用d3的水平图例在右侧被截断,d3.js,D3.js,根据here()代码,我创建了一个水平图例 代码如下 但它会被剪成合适的尺寸。如果可用宽度小于图例宽度,如何确保它转到下一行 此外,我已经查看了这个问题(),但无法考虑如何在我的案例中使用相同的问题。 如果有人能告诉我如何确保代码中的硬代码宽度(colorbox+文本)与我的代码中的相同,那就太好了。在翻译函数中添加以下内容 .attr('transform', function(d, i) { var horz = 10
如果有人能告诉我如何确保代码中的硬代码宽度(colorbox+文本)与我的代码中的相同,那就太好了。在翻译函数中添加以下内容
.attr('transform', function(d, i) {
var horz = 100*i; // NEW
var vert = 6;
if (horz >= width) {
horz = 100 * (i - 4);
vert = 40;
}
return 'translate(' + horz + ',' + vert + ')'; // NEW
});
这应该可以解决您当前的问题,但是您应该更加自动化,因为如果您的图例需要为3行,那么这可能不适合您
希望这有帮助。如果在翻译功能中添加以下内容
.attr('transform', function(d, i) {
var horz = 100*i; // NEW
var vert = 6;
if (horz >= width) {
horz = 100 * (i - 4);
vert = 40;
}
return 'translate(' + horz + ',' + vert + ')'; // NEW
});
这应该可以解决您当前的问题,但是您应该更加自动化,因为如果您的图例需要为3行,那么这可能不适合您
希望这有帮助