繁体   English   中英

如何使用一个数据集创建d3双向节点树?

How can I create a d3 bidirectional node tree using one dataset?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试渲染d3树形图,以使数据集从中心节点的两侧扩展出来。 我一直在寻找类似的例子这样 ,想保持拖放功能。 我能找到的最接近的示例是:

在d3.js中,带有多个子节点的树(类似于家谱)

到目前为止,我尝试通过从update(source)函数中的viewerWidth变量减去dy值来尝试将dy值切换为负值。 这只是使d3树形图的方向仅从右向左反转。

function update(source) {
    //Other code

    // Set widths between levels based on maxLabelLength.
    nodes.forEach(function(d) {
        d.y = viewerWidth - (d.depth * (maxLabelLength * 10)); //maxLabelLength * 10px
        // alternatively to keep a fixed scale one can set a fixed depth per level
        // Normalize for fixed-depth by commenting out below line
        // d.y = (d.depth * 500); //500px per level.
    });

   //Other code

}

如果我将其应用于nodes数组中的某些条目,则树确实会划分,但x值间隔已超出:

function update(source) {

   //Other code

    // Set widths between levels based on maxLabelLength.
    nodes.forEach(function(d,i) {

        if(i < nodes.length / 2) {
            d.y = viewerWidth - (d.depth * (maxLabelLength * 10)); //maxLabelLength * 10px
        }else {
            d.y = (d.depth * (maxLabelLength * 10)); 
       }
        // alternatively to keep a fixed scale one can set a fixed depth per level
        // Normalize for fixed-depth by commenting out below line
        // d.y = (d.depth * 500); //500px per level.
    });

   //Other code

}

另一种解决方案是在一个方向上渲染树,然后再尝试操纵节点的位置,但这并不理想。

如何使用一个数据集创建双向节点树?

问题暂未有回复.您可以查看右边的相关问题.
1 如何使用d3从一个数据集中制作双标签轴

我正在尝试使用d3角中的双标记x轴作为散点。 我的格式有标签数据: 我想要一个x轴显示PtName,另一个显示SocName。 我正在尝试: 但是tickFormat似乎不按照我的意愿工作。 我得到的轴只​​有一个值(第一个):“ Name1”和“ Same sock!”。 ...

2 为什么在d3中我不能用一个数据集创建一组圆?

我创建了一个散点图,我在绘制自己的圆(数据点)时遇到了问题。 附加第一组圆时,它会在图形上很好地绘制。 但是由于某种原因,我尝试添加的下一组将不会被绘制。 怎么会这样? 我第二次使用输入/添加/选择错误吗? 我有一个带有代码的JSFiddle: http : //jsfiddl ...

3 大型数据集的D3树图

我不确定是否有实现此功能的方法。 我正在寻找可缩放树图之类的东西,但首先要加载一些子级别,然后再单击“添加更多子节点并将其附加到树”,然后再单击没有节点。 在到达叶节点后,在http://bost.ocks.org/mike/treemap/中说,如果子项存在,我将进行ajax调用,如果 ...

4 使用不同颜色在 d3 中的一个散点图矩阵中可视化两个数据集

我在 D3 中有一个散点图矩阵代码,我想在同一个散点图矩阵 (svg) 中可视化两个数据集,但数据点的颜色不同。 现在,当我单击更新按钮时,旧点被删除,Data2 中的新点被绘制出来。 但我希望不要删除旧的数据点,而是以不同的颜色绘制来自 Data2 的新数据点。 该函数有这个svg.selec ...

5 具有多个数据集D3的分组散点图

目前,我有3个数组形式的数据集,我想将其中一个数据集保留为Y轴,将其余数据集绘制在散点图和X轴范围内。 到目前为止,我只能在Y轴上绘制一个数据集,而在X轴上绘制一个数据集。 要绘制的数据集是x1data x2data作为X轴,以及X轴范围和域将如何变化 这是我当前的X轴 ...

6 d3检查函数中的哪个数据集

我目前有2张图表,一张在另一张上。 哪一组数据与顶部和底部相关联是动态确定的。 我还想根据所使用的数据集确定顶部和底部图表的颜色。 IE的一个数据集与男性相关,一个与女性相关,女性应为红色,男性应为蓝色。 我现在的操作方式是这样的: 但是在两个数据集具有相同值的情况下,事情可能会 ...

7 根据另一个数据集更改d3圆的笔触

我已经建立了基于传单的地图可视化,并在D3中制作了带有圆圈的地图。 根据数据选择,将使用值更新地图。 现在,我正在尝试根据另一组数据来更改圆的笔触。 我的意思是,如果我的数据集中有100行。 过滤后,我显示了60个圆圈,在这60个点中,我选择了30个点,我想将笔划添加到这30个点中,并将 ...

8 d3:根据另一个数据集为一条线着色

我想用数据集的值为矩形着色。 下面是一个示例,其中我绘制正弦波并通过y值对线进行着色(当y值从1变为-1时,从红色到蓝色)。 我想要的是有一个由y值着色的条形图。 这是一个小提琴: https : //jsfiddle.net/sanandak/m2jryr22/11/ ...

9 使用d3在同一JSON文件中使用多个数据集

我正在尝试从nvd3修改Line Plus条形图 ,以便单击按钮时,该图将切换到一周中另一天(周六)的数据。 现在,我很难让它显示一周中某一天的数据。 由于某种原因,它会显示一周中的所有天。 这是我的代码: JSON的设置方式类似于: 我认为问题与.x(function ...

10 使用两个数据集进行d3过渡

我是D3新手,试图弄清楚转换并想使用多个数据集。 我看过其他问题,但没有找到使用两个数据集的答案。 这个jsfiddle显示了我正在尝试做的事情。 我正在构建一个应用程序,以帮助入门级学生抽取随机样本。 他们将设置概率(甜甜圈图的一部分),并选择要抽取的抽奖次数。 然后,甜甜圈旋转,样 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM