Невозможно увидеть год на оси X графика, который строится по flot - PullRequest
1 голос
/ 20 июля 2011

Спасибо тем, кто посмотрел этот пост, и я хотел бы опубликовать обновление с моими выводами: Это мой JavaScript для построения графика на странице с помощью flot,

        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 Ответ

1 голос
/ 22 июля 2011

немного разочарован, что никто здесь не дает мне подсказку, но, конечно, я полностью понимаю, так как никто не знает все.

Наконец я исправил это своим собственным эффектом, и я хотел бы поделиться своимпоиск здесь и, надеюсь, может принести пользу другим людям, здесь вы идете:

Мне нужно написать функцию для форматирования даты, и это функция

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

это ось Xона вызывает эту функцию:

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

она достигает того, что мне нужно, хотя и не идеальна, поскольку дата похожа на это: воскресенье, 2 августа 2009 года, но на самом деле я хочу получить 2 августа 2009 годаПервое: воскресенье, 2 августа 2009 года, также служит этой цели.

...