JQPlot проблема с подсветкой - PullRequest
0 голосов
/ 25 декабря 2010

Я использую плагины jQuery, предоставляемые jqplot для построения графиков. Когда я использую seriesDefaults: {fill: true}, подсветка (всплывающая подсказка) перестает работать.

Вот код, который я использую.

var line1=[['23-May-08', 578.55], ['20-Jun-08', 566.5], ['25-Jul-08', 480.88], ['22-Aug-08', 509.84],
    ['26-Sep-08', 454.13], ['24-Oct-08', 379.75], ['21-Nov-08', 303], ['26-Dec-08', 308.56],
    ['23-Jan-09', 299.14], ['20-Feb-09', 346.51], ['20-Mar-09', 325.99], ['24-Apr-09', 386.15]];

var plot = $.jqplot('chartarea', [line1],
                   {
                    seriesDefaults : { fill : true },
                    title          : "Area chart with tooltip",
                    axes           : {
                                      xaxis : { renderer : $.jqplot.DateAxisRenderer },
                                      yaxis : { tickOptions : { formatString : '$%.2f'} }
                                     },
                    highlighter    : { show : true, sizeAdjust : 7.5},
                    cursor         : { show : false } 
                   });

Есть ли способ заставить маркер работать в режиме fill: true case.

Спасибо ..

1 Ответ

0 голосов
/ 09 марта 2011

Вам нужно взломать введение в js-файл jqplot, чтобы это работало. Мне удалось заставить это работать, но область заливки под линией больше не изменит свою прозрачность при наведении.

Вы можете найти в файле JS switch (s.renderer.constructor) {, а в следующем случае case $.jqplot.LineRenderer: прокомментировать код для if (s.fill) { и оставить только код для остального.

Вы получите ошибку где-то в $.jqplot.ShapeRenderer.prototype.draw = function(ctx, points, options) {, потому что точки не определены, но вы можете использовать if здесь, чтобы проверить, установлены ли точки.

Возможно, это не лучшее решение, но нам действительно нужны всплывающие подсказки для заполненной строки, и на данный момент это был лучший вариант.

...