2012-06-28 2 views
4

Я пытаюсь показать месяц/год в моем графике, но есть ошибка с метками на оси х:JQuery Flot: reapeating метки на оси х

enter image description here

Существует апреля 2012 3 раза (и май и июнь).

Вот код

function showGraph() { 
     var data = [ 
      { label : "Odmeny", data: [ [(new Date('2012/04/01')).getTime(), 10], [(new Date('2012/05/01')).getTime(), 10], [(new Date('2012/06/01')).getTime(), 10] ] }, 
      { label : "Koeficienty", data: [ [(new Date('2012/04/01')).getTime(), 11], [(new Date('2012/05/01')).getTime(), 13], [(new Date('2012/06/01')).getTime(), 16], [(new Date('2012/07/01')).getTime(), 12] ] } 
     ]; 
     var options = { 
       xaxes: [{ 
          mode: "time", 
          timeformat: "%b %y", 
          monthNames: ["jan", "feb", "mar", "apr", "máj", "jún", "júl", "aug", "sep", "okt", "nov", "dec"] 
         }], 
         yaxes: [ { 
            min: 0 
           } ], 
         series: { 
          lines: { 
           show: true, 
           fill: null 
          }, 
          points: { 
           show: true, 
           radius: 3, 
           lineWidth: 2, 
           fill: true, 
           fillColor: "#ffffff", 
           symbol: "circle" 
          } 
         }, 
         grid: { hoverable: true, clickable: true } 
     }; 

     $.plot($("#placeholder"), data, options); 
    } 
+0

Какую версию Flot вы используете? Это главная ветвь Гитуба? – DNS

+0

Ну, есть информация: Javascript-графика для jQuery, v. 0.7. И плагин для jQuery для работы с цветами, версия 1.1. ... нет, это не из Github. –

+0

Не могли бы вы дать один из Github попробовать? Это экспериментально, и что-то ломает, но мы внесли много улучшений в поддержку времени; Мне интересно, можно ли устранить проблему, которую вы видите. Если вы попытаетесь это сделать, имейте в виду, что поддержка времени была перенесена в плагин, поэтому вам нужно будет добавить этот дополнительный .js-файл. – DNS

ответ

0

Рабочий код (без minThickSize):

var options = { 
      xaxes: [{ 
         mode: "time", 
         timeformat: "%b %y", 
         monthNames: ["jan", "feb", "mar", "apr", "máj", "jún", "júl", "aug", "sep", "okt", "nov", "dec"] 
        }], 
        yaxes: [ { 
           min: 0 
          } ], 
        series: { 
         lines: { 
          show: true, 
          fill: null 
         }, 
         points: { 
          show: true, 
          radius: 3, 
          lineWidth: 2, 
          fill: true, 
          fillColor: "#ffffff", 
          symbol: "circle" 
         } 
        }, 
        grid: { hoverable: true, clickable: true } 
    }; 
1

Под XAxis опций установите:

minTickSize = [1, "month"] 

Что происходит сейчас в том, что Flot естественно пытается создать тиков больше, чем один раз в месяц, которые затем появляются как в том же месяце из-за вашей строки формата.

+0

Извините за поздний ответ, но, похоже, сейчас работает, я ничего не изменил. Спасибо за помощь –

0
var options = { 
    lines: { show: true }, 
    points: { show: true }, 
    xaxis: { mode: "time", 
    timeformat: "%m/%y", 
    minTickSize: [1, "day"], 
    tickSize: [1, "month"]} 
    }; 
Смежные вопросы