DimpleJS overrideMax,Dates和系列绘图顺序

时间:2014-05-09 12:11:58

标签: dimple.js

我有这个交互式图表here。由于其数据根据所选时间段而变化,我希望设置日期范围从11月10日到7月14日,无论数据如何。我知道我必须在x轴上使用overrideMax,但我不能让它工作。我想这是日期格式化的问题。我尝试过的每一个组合都会得到以下结果:result

什么是正确的格式?非常感谢。

编辑:非常感谢你的快速反应,约翰。现在它正在运作。我越来越喜欢Dimple了!

我对此图表有另一个问题。有没有办法安排系列的绘制顺序?我希望'Previsión'被送回去。现在它取决于时间段。

'Previsión' on back 'Previsión' at the front

编辑2:基于this其他问题,我想我找到了一个解决方案。在绘制图表后延迟50ms,我简单地擦除我希望在前面的圆圈和路径,然后将它们附加到图表svg对象。

setTimeout(function () {
        var datoCircles = svg.selectAll('circle[id*=Dato]:not([id*=futuro])');
        var prevCircles = svg.selectAll('circle[id*=Prev]');
        var prevPaths = svg.selectAll('path[class*=Prev]');

        datoCircles.remove();
        prevCircles.remove();
        prevPaths.remove();

        // Convertimos la seleción d3 a objetos jQuery
        $(svg.selectAll('svg > g')[0])
            .append($(prevPaths[0]))
            .append($(prevCircles[0]))
            .append($(datoCircles[0]));

    }, 50);

1 个答案:

答案 0 :(得分:1)

需要使用JavaScript日期对象进行设置,因为JavaScript中的本机日期解析会导致跨浏览器问题,我建议使用d3方法:

x.overrideMax = d3.time.format("%Y-%m-%d").parse("2014-05-09");

使用这种方法,您可以使用适合您的日期格式。