dimple.js - 排序x轴数据,不是按字母顺序排列的

时间:2014-06-20 18:20:14

标签: sorting dimple.js

我的x轴图表数据以0开头,最多1200,增量为100。当它以升序显示在图表上时,0是最后一个,而不是第一个。如果我在数据上放置前导零,则0位于正确的位置,这使我认为数据按字母顺序排序而不是数字排序。

有没有办法按数字排序?

这是我的图表:

编辑 - >我想我需要一个更好的StackOverflow信誉来发布图像,所以你只需要设想一个条形图,其中x轴上的数据从100到1200然后在1200之后显示0的数据。

以下是图表的代码:

var svg = dimple.newSvg("#idle-times-chart-container", 1000, 500);
    var chart = new dimple.chart(svg, data);
    var x = chart.addCategoryAxis("x", "xAxis");
    x.addOrderRule("xAxis", false);
    var y = chart.addMeasureAxis("y", "yAxis");
    y.tickFormat = "%";
    chart.addSeries(["OpCode"], dimple.plot.bar);
    var myLegend = chart.addLegend(950, 50, 60, 100, "Right");
    chart.draw();
    x.titleShape.text("Idle Times");
    chart.legends = [];
    var filterValues = dimple.getUniqueValues(data, "OpCode");
    myLegend.shapes.selectAll("rect")
        .on("click", function (e) {
            var hide = false;
            var newFilters = [];
            filterValues.forEach(function (f) {
                if (f === e.aggField.slice(-1)[0]) {
                    hide = true;
                } else {
                    newFilters.push(f);
                }
            });
            if (hide) {
                d3.select(this).style("opacity", 0.2);
            } else {
                newFilters.push(e.aggField.slice(-1)[0]);
                d3.select(this).style("opacity", 0.8);
            }
            filterValues = newFilters;
            chart.data = dimple.filterData(data, "OpCode", filterValues);
            chart.draw(1000);
            x.titleShape.text("Idle Times");
        });

1 个答案:

答案 0 :(得分:1)

应该有效。我想知道它是否是v2中的一个错误。您可以尝试使用version 1.1.5并查看其是否正常工作吗?不幸的是,版本1.1.5中的动画条纹可能看起来不太好但我们至少可以看到它是否是代码库中的错误。