无法在图表的x轴上看到由flot绘制的年份

时间:2011-07-20 04:48:50

标签: javascript jquery flot

感谢那些看过这篇文章的人,我想发布一些更新我的发现: 这是我使用flot在页面上绘制图形的javascript,

        var dataSet1 = [[1249102800000, 34.50553], [1249189200000, 27.014463], [1249275600000, 26.7805], [1249362000000, 33.08871], [1249448400000, 51.987762], [1249534800000, 56.868233]];
        var dataSet2 = [[1249102800000, 3.405], [1249189200000, 2.701], [1249275600000, 2.678], [1249362000000, 3.308], [1249448400000, 5.187], [1249534800000, 5.668]];

        function doPlot(position) {
            $.plot($("#placeholder"),
                [{ data: dataSet1, label: "Data Set 1" },
                    { data: dataSet2, label: "Data Set 2", yaxis: 2}],
            {
                series: {
                    lines: { show: true },
                    points: { show: true }
                },
                grid: {
                    hoverable: true,
                    clickable: true
                },
                xaxes: [{ mode: 'time',
                    timeFormat: "%d-%m-%y",
                    minTickSize: [1, 'day']
                }],
                yaxes: [{ min: 0 },
                    {
                        alignTicksWithAxis: position == "right" ? 1 : null,
                        position: position
                    }],
                legend: { position: 'sw' }
            });

现在我可以在图表的x轴上获得日期和月份,但仍然不是几年,看起来像timeFormat:“%d-%m-%y”没有任何影响。任何人都有任何想法吗?

1 个答案:

答案 0 :(得分:1)

有点失望,没有人在这里给我一个提示,但当然我完全理解,因为没有人知道一切。

最后我通过自己的效果修复了它,我想在这里分享我的发现并希望能让其他人受益,在这里你走了:

我需要编写一个函数来格式化日期,这就是函数

function dateFormatter(v) {
            return (new Date(v).toLocaleDateString());
        }

这是调用该函数的x轴:

xaxes: [{ mode: 'time',
                    tickFormatter: dateFormatter,
                    minTickSize: [1, 'day']
                }],

它确实实现了我所需要的虽然它并不完美,因为日期是这样的:2009年8月2日星期日,但实际上我想要的是2009年8月2日,然而,第一个:2009年8月2日星期日,服务于目的也是。