作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有开始和结束节点的桑基图。当我使用下面的函数创建图例时。
我想从图例中过滤掉特定节点(第一个和结束节点)。
节点名称始终相同,但随着节点数量动态变化,它们的索引将不同。
这可能吗,还是很复杂?
我可以应用过滤器或排除功能吗
svg.selectAll('.legendOrdinal .cell')
.attr('transform', function(d,i) {
// make 2 column legend
var row = Math.floor(i / items_in_row) * element[0].offsetWidth/2;
return 'translate(' + row +',' + (i % items_in_row) * 21 + ')';
})
function render_legend(nodes) {
var items_in_row = Math.ceil(nodes.length/2);
d3.select(element[0]).select('#legend').remove();
var svg = d3.select(element[0])
.append("svg")
.attr('width', '100%')
.attr('height', ((items_in_row+1) * 25) + 'px')
.attr('id', 'legend');
var ordinal = d3.scale.ordinal()
.domain(nodes.map(function(d) {
return d.name;
}))
.range(color.range());
// append legend text
if (nodes.length != 0) {
svg.append('text')
.attr('x', 15)
.attr('y', 15)
.text('Enabling infrastructure investments:');
};
svg.append("g")
.attr("class", "legendOrdinal")
.attr("transform", "translate(20, 40)");
var legendOrdinal = d3.legend.color()
.shape("path", d3.svg.symbol().type("circle").size(200)())
.shapePadding(5)
.scale(ordinal);
svg.select(".legendOrdinal")
.call(legendOrdinal);
svg.selectAll('.legendOrdinal .cell')
.attr('transform', function(d,i) {
// make 2 column legend
var row = Math.floor(i / items_in_row) * element[0].offsetWidth/2;
return 'translate(' + row +',' + (i % items_in_row) * 21 + ')';
})
};
最佳答案
您可以对 domain
调用应用过滤吗?
.domain(nodes.filter(function(d, i) {return i > 0 && i < N - 1; /*or anything else */})
.map(function(d) {
return d.name;
}))
关于javascript - 从桑基图中的图例中排除实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40407765/
在默认的 Highcharts Sankey 图表中,您可以将鼠标悬停在各个路径上,这些路径会突出显示。 我希望能够悬停在节点上 - 例如下面示例中的加拿大 - 并在悬停在该节点上时突出显示所有红色路
我想知道一个特定的节点是否可以在类似states in hover(linkOpacity)的Click上高亮显示并在单击其他节点/系列时将其替换为之前的颜色。 简而言之,加载图表时,最上面的节点最初
(Plotly 4.10.0、Python 3.8.0、Ubuntu 20.04) 我正在使用 Plotly Sankeys,但自动放置看起来很麻烦(可惜我无法手动放置节点)。 import plot
如何根据过渡在 x 轴上显示动态文本。在我的第一个案例中,我得到两个转换(足球 -> 篮球和篮球 -> Gerard),因此我将显示两个标签,如下所示 但是当我们只得到一个转换时,如何处理 x 轴上的
我需要在桑基图之外显示标签,但我很难在外面显示。我尝试使用一些属性,如裁剪、溢出和对齐。尽管如此,它仍然不起作用。我需要在图表外部显示左侧和右侧的标签。 这是我的代码 Highcharts.chart
我是一名优秀的程序员,十分优秀!