Изменить то, что показывает подсказка jqPlots

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

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

Спасибо

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

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

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

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 здесь.

Другие вопросы по тегам