2013-05-27 2 views
1

Я не могу избавиться от вертикальной линии в конце графика.Флот нарисовать дополнительную вертикальную линию сетки

Я копировал проблема здесь: http://jsfiddle.net/63BPw/4/

Цвет линий сетки является Darkred и это выставиться только в этой части JS кода:

grid: { 
    aboveData: false, 
    hoverable: true, 
    clickable: true, 
    color: "darkred", 
    borderWidth: { 
     top: 0, 
     bottom: 1, 
     left: 0, 
     right: 0 
    } 
} 

консоли не бросайте никаких ошибок. Я не использую никаких полей из файла javascript или внешних файлов css.

ответ

3

Я думаю, что это, вероятно, ошибка.

Проблема не в настройке сетки, а в чертеже каждой оси. В частности, вы устанавливаете 2 оси y, один слева и один справа. Глубоко в коде флота, он решает, нарисовать ли «бар», чтобы привязать тики к основанию, является ли ось «самой внутренней» или нет. Когда у вас есть 2 yaxes, вы неправильно определяете, что ваш правый yaxis равен , а не внутренним, и поэтому рисует галочку.

Соответствующий код, оба бита называются по оси:

В allocateAxisBoxFirstPhase:

/*note this is only called for axes that have tickLength set 
    but later it is checked as true/false, not undefined 
    (which is what you'd get if you set your yaxis tickLength = 0) */ 
var sameDirection = $.grep(all, function (a) { 
    return a && a.reserveSpace; 
}); 

innermost = $.inArray(axis, sameDirection) == 0; 

В drawGrid:

if (!axis.innermost) { 

    //in here it draws the tick bar 

} 

Обход:

Найти что !axis.innermost бит и изменить его на axis.innermost == false. Установите tickLength = 0 во втором яке. Вот и все.

Я реализовал эти два изменения здесь: http://jsfiddle.net/63BPw/5/

Кроме того, FYI я подал ошибку об этом: https://github.com/flot/flot/issues/1056

+0

И ошибка уже исправлена, лучше, чем я предложил :) – Ryley

+0

Большое спасибо за вашей помощи и для решения этой проблемы для github. Я загружу исправленную версию флота сейчас! – Teq1

Смежные вопросы