【问题标题】:D3 Parse and Display JSON (from Python Dataframe)D3 解析和显示 JSON(来自 Python 数据框)
【发布时间】:2023-03-26 01:46:02
【问题描述】:

我正在寻找创建一个股票图表。我一直在尝试使用来自http://bl.ocks.org/mbostock/3884955 的示例,但我无法解析我的 python 数据框输出的 json 文件的格式:

这是一个json的例子:

var dataset = [{"1412121600000":{"Long":100.0,"Short":100.0,"Combined":100.0},
                "1412208000000":{"Long":100.7259540416,"Short":99.9845645596,"Combined":100.7105186013},
                "1412294400000":{"Long":100.4436402904,"Short":98.8837985253,"Combined":99.3194897889},
                "1412553600000":{"Long":100.4436402904,"Short":98.9995341224,"Combined":99.4357353278},
                "1412640000000":{"Long":99.5664445414,"Short":100.5277244418,"Combined":100.1022654968},
                "1412726400000":{"Long":101.6333965937,"Short":98.7695530192,"Combined":100.4296105442},
                "1412812800000":{"Long":101.8552090464,"Short":100.7284660335,"Combined":102.6406329748},
                "1412899200000":{"Long":101.5628181559,"Short":101.8782213959,"Combined":103.5175690128},
                "1413158400000":{"Long":100.6352059402,"Short":103.5518262499,"Combined":104.27263855},
                "1413244800000":{"Long":99.5664445414,"Short":103.3915337819,"Combined":103.0038388108},
                "1413331200000":{"Long":98.3464414352,"Short":104.0910952724,"Combined":102.4386550712}}];

我需要将字典的键格式化为日期并使用数据访问节点,但不知道如何。我一直在尝试该示例的变体,但它似乎不起作用:

d3.json(dataset, function(error, data) {
    data.forEach(function(d) {
        ??
    });

【问题讨论】:

    标签: javascript json d3.js


    【解决方案1】:

    我建议从重新格式化开始。你应该让每个点看起来像这样:

    {"date":"1412121600000","values":["Long":100.0,"Short":100.0,"Combined" :100.0]}
    

    然后您可以使用 .date 或 .value 引用它们。例如,如果“日期”应该是 x 轴上的一个值,你可以去

    .attr('x',function(d){return d.date;})
    

    带有一些 Date.parse() 函数。

    例如,请注意 Mike 是如何做到的

    data.forEach(function(d) {
    d.date = parseDate(d.date);
      });
    
    var parseDate = d3.time.format("%Y%m%d").parse;
    

    在这里,他将“日期”作为一个列,并且可以这样引用它。正如我向您展示的那样,使用 JSON。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多