酒窝时间格式戏法(Dimple Time Format Juggling)

2019-10-19 01:31发布

我感到很日期由酒窝处理方式感到困惑(或也许它只是D3)。

我的问题可以在两个问题可分为:

  1. 我的日期格式来作为一个列在我的csv文件%Y-%m-%d %H:%M:%S 。 为了将它们转换为Date对象,我目前使用我曾经有过的“香草” D3相同的循环。

     data.forEach(function (d) { var format = d3.time.format("%Y-%m-%d %H:%M:%S"); d.Date = format.parse(d.Date); }); 

    有没有一种更快捷的方法有做到这一点? 也许与timeField功能 ? 或dateParseFormat ? 我可能是错的,但这些功能看起来像助手处理日期。

  2. 最主要的原因,我想控制我的时间对象,那就是能够将其重新格式化。 文档似乎表明tickFormat功能可以用于此目的。 不幸的是我也没有在使用它。 我最好的猜测:

    var x = myChart.addCategoryAxis("x", "Date");

    x.tickFormat(d3.time.format("%Y-%m")); // For example for a year-month format

唯一的回报

x.tickFormat不是一个函数

非常感谢,

泽维尔

Answer 1:

时间格式化涉及时间轴。 如果你想使用时间轴,只需用你不需要你的循环:

myChart.addTimeAxis("x", "Date", "%Y-%m-%d %H:%M:%S", "%Y-%m");

其中 “%Y-%间 - %d%H:%M:%S” 是你的输入和 “%Y-%m” 为输出格式。 究其原因,“x.tickFormat不是一个函数”的错误在于,它不:)。 您可以设置,如果你想,但如果你使用上面的工厂方法不要求使用时间轴作为财产tickFormat:

myTimeAxis.tickFormat = "%Y-%m";

但是,这仅适用于时间轴。

在行动的时间轴的例子可以在这里找到:

http://dimplejs.org/advanced_examples_viewer.html?id=advanced_time_axis

希望帮助

约翰



文章来源: Dimple Time Format Juggling