Изменить то, что отображает всплывающая подсказка jqPlots

Есть ли способ изменить текст в каждой точке графика jqPlot. Таким образом, вместо того, чтобы каждая точка отображала свое нормальное значение, можно ли изменить ее на что-то другое. Каждая точка на моем графике представляет разные данные. Например, я хочу отобразить количество студентов, сдавших тесты за год, с разбивкой по месяцам. Но вместо подсказки, указывающей сумму, я хочу, чтобы она показывала средний результат теста.

Можно ли изменить текст всплывающих подсказок?

Спасибо


person Wesley Skeen    schedule 01.10.2012    source источник


Ответы (2)


Прежде всего, это не точное решение вашего вопроса, но его можно использовать как возможный обходной путь.

Я добился аналогичного результата на jqplot, используя pointLabels плагин.

Вот что вы можете сделать,

Плагин pointLabels отображает содержимое массива данных, который используется для построения графика. Но есть возможность указать, какой индекс массива данных использовать для отображения метки точки.

pointLabels: {
    show: true,
    seriesLabelIndex: 2
}

Итак, что вы можете сделать, так это для каждой точки в вашем массиве данных вы можете включить любые детали, которые вы хотите отобразить на диаграмме.

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

Я создал небольшой пример, чтобы вы поняли это.

http://jsfiddle.net/GayashanNA/q9mH8/

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

http://gayashan-a.blogspot.de/2012/10/tracking-mouse-position-on-your_2.html

person GayashanNA    schedule 05.10.2012

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

Вот как вы можете это сделать. Сначала вам нужно подключить подключаемый модуль подсветки. Затем в параметрах графика установите параметры выделения, подобные этому.

highlighter: {
    show: true,
    tooltipContentEditor: tooltipContentEditor
}

Здесь tooltipContentEditor — это внешняя функция, которую можно использовать для вывода пользовательского HTML в качестве всплывающей подсказки.

Затем вы можете вернуть рассчитанное среднее значение или другое желаемое значение из этой функции.

function tooltipContentEditor(str, series_index, point_index, plot) {
    len = plot.data[series_index].length;
    total = 0;
    for (i = 0 ; i < len; i++) {
        total += parseFloat(plot.data[series_index][i][1]);
    }
    return "average:"+total/len;
}

Вы можете получить доступ ко всем своим данным, используя параметры, переданные функцией.

Взгляните на мой jsFiddle здесь.

person GayashanNA    schedule 11.12.2012