在遵循众多D3示例时,数据通常以flare.json中给出的格式进行格式化:
{
"name": "flare",
"children": [
{
"name": "analytics",
"children": [
{
"name": "cluster",
"children": [
{"name": "AgglomerativeCluster", "size": 3938},
:
我有一个邻接列表,如下所示:
A1 A2
A2 A3
A2 A4
我想将其转换为以上格式。目前,我正在服务器端执行此操作,但是有没有办法使用d3的功能来实现此目的?我在这里找到了一个,但是这种方法似乎需要修改d3核心库,由于可维护性,我不赞成这样做。有什么建议?
有没有规定的格式,通常可以通过各种访问函数重新定义你的数据(如hierarchy.children)和array.map。但是您引用的格式可能是最方便的树表示形式,因为它可以与默认访问器一起使用。
第一个问题是您打算显示图形还是树。对于图,数据结构是根据节点和链接定义的。对于树,布局的输入是根节点,该根节点可能具有一系列子节点,并且其叶节点具有关联的value。
如果要显示一个 图 ,而您所拥有的只是一个边列表,那么您将要遍历这些边,以生成一个节点数组和一个链接数组。假设您有一个名为“
graph.csv”的文件:
source,target
A1,A2
A2,A3
A2,A4
您可以使用d3.csv加载此文件,然后生成节点和链接的数组:
d3.csv("graph.csv", function(links) {
var nodesByName = {};
// Create nodes for each unique source and target.
links.forEach(function(link) {
link.source = nodeByName(link.source);
link.target = nodeByName(link.target);
});
// Extract the array of nodes from the map by name.
var nodes = d3.values(nodeByName);
function nodeByName(name) {
return nodesByName[name] || (nodesByName[name] = {name: name});
}
});
然后,您可以传递这些节点并链接到力的布局以可视化图形:
如果要生成一 棵树 ,则需要做一些略有不同的数据转换形式,以积累每个父级的子节点。
d3.csv("graph.csv", function(links) {
var nodesByName = {};
// Create nodes for each unique source and target.
links.forEach(function(link) {
var parent = link.source = nodeByName(link.source),
child = link.target = nodeByName(link.target);
if (parent.children) parent.children.push(child);
else parent.children = [child];
});
// Extract the root node.
var root = links[0].source;
function nodeByName(name) {
return nodesByName[name] || (nodesByName[name] = {name: name});
}
});
像这样:
我有一个邻接列表如下: 我想把它转换成上面的格式。目前,我正在服务器端做这件事,但是有没有一种方法可以使用D3的功能来实现这一点呢?我在这里找到了一个,但该方法似乎需要修改d3核心库,由于可维护性,我不赞成。有什么建议吗?
问题内容: 我尝试使用json格式的文件作为输入。这是示例数据的片段。 可以在r中使用这种复杂的json格式制作一个csv,以便更平滑地处理数据吗? 例如,有以下基本类别:基本信息照片创建者位置类别网址 可以制作带有basic_information.id,creator.id等子类别类别的csv文件吗? 问题答案: 在研究您的答案时,我在评论中张贴了一些链接,但现在我非常确信这是解决问题的方法。
我在MongoDB中使用Java驱动程序3.0,以便通过Web服务发送JSON。 当我想将文档对象(org.bson.文档)转换为JSON时,我使用,当我想将JSON转换为文档对象时,我使用。 但是,当我处理文档列表时(如JSON中所示:
问题内容: 我有一个带有两列的Pandas –一列带有文件名,一列带有生成它的时间: 我正在尝试将其转换为以下格式的JSON文件: 使用命令时,将以以下格式获取记录: 我只是想知道是否存在以所需格式获取JSON文件的选项。任何帮助,将不胜感激。 问题答案: 您得到的输出是。因此,您可以根据需要简单地对其进行切片,并从中删除逗号。 要将输出写入文本文件,您可以执行以下操作:
在我的班上我有日期字段: 我使用DataTimeFormat是因为我想要这样的日期格式(用于我的REST控制器): YYYY-MM-DD'T'HH:MM:SS.SSSZ,例如“2000-10-31 01:30:00.000-05:00”。 但它在JSON中转换为(JSON数组): 而不是像这样(JSON字符串): 我使用依赖项(因为转换为object,就像这个问题一样)。
我有以下json字符串,我需要使用java spring boot在csv中转换它们。格式如下。