Дата выпуска Flot - PullRequest
       12

Дата выпуска Flot

2 голосов
/ 27 июня 2011

Я пытаюсь отобразить поле даты во флоте:

Данные:

    var data = [
            [parseInt(1309150800.0)*1000, 220],
            [parseInt(1309064400.0)*1000, 230],
    ];

Создание флота:

    $.plot($("#graph"), [ data ], {
        grid: {
            hoverable: true
        },
        xaxis: {
            mode: "time",
            timeformat: "%d.%m.%y"
        },
        yaxis: {
            mode: "number",
            tickSize: 2
        },
        series: {
            lines: { show: true },
            points: { show: true }
        }
    });

По данным этого сайта http://tools.semsym.com/index.php?tool=timestamp&timestamp=1309150800 отметка времени - 26 июня 2011 г., 22:00:00.Но график выглядит так: http://i.stack.imgur.com/NUayx.png

Точки немного смещены.Первый должен быть в 26, но в 25,5.Я немного поиграл с форматированием меток времени, но не смог добраться до конкретной точки.

Что мне не хватает?

Также он показывает «26.06.2011» около 6 раз.Какой конфиг нужен, чтобы держать его на 1?

1 Ответ

2 голосов
/ 06 июля 2011

Убедитесь, что вы установили minTickSize. Вот пример на http://jsfiddle.net/hAXHq/, где я установил minTickSize на 1 день и установил значения min / max явно. Вы должны иметь возможность устанавливать свои собственные минимальные и максимальные значения программно в зависимости от ваших данных.

Вот код:

    var data =  [
        [parseInt(1309150800.0)*1000, 220],
        [parseInt(1309064400.0)*1000, 230]
    ];

    $.plot($("#placeholder"), [ data ], {
    grid: {
        hoverable: true
    },
    xaxis: {
        mode: "time",
        timeformat: "%d.%m.%y",
            minTickSize: [1,"day"],
        min: (new Date(2011,5,25)).getTime(),
        max: (new Date(2011, 5, 28)).getTime()
    },
    yaxis: {
        mode: "number",
        tickSize: 2
    },
    series: {
        lines: { show: true },
        points: { show: true }
    }
});
...