Какие-нибудь примеры Flot с всплывающими подсказками? - PullRequest
20 голосов
/ 15 января 2009

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

API предлагает способы наведения графика на графике, но я не уверен, что именно это означает, что я могу с ним работать.

Я хотел бы знать, может ли кто-нибудь предоставить некоторые примеры, с которыми он сталкивался, или код по этому вопросу, которые демонстрируют примеры любого из следующего:

  • Динамические всплывающие подсказки, вызванные наведением на события в элементах диаграммы с плавающей точкой
  • Всплывающие подсказки (при наведении курсора на детали оси)
  • Любой тип наведения курсора / динамическое связывание событий, которое использовалось с Flot

Эффект, который я ищу, похож на this Пример Open Flash Chart

Ответы [ 7 ]

48 голосов
/ 19 января 2009

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

11 голосов
/ 09 апреля 2012

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

И я также добавил некоторые функции в плагин, вы можете найти его на github. https://github.com/skeleton9/flot.tooltip

9 голосов
/ 24 июня 2010

http://data.worldbank.org построен с использованием Flot и использует всплывающие подсказки.

4 голосов
/ 02 января 2014

Ссылка в ответе Саймона работала очень хорошо, чтобы обеспечить ловушку для использования с плавающими подсказками. Тем не менее, я обнаружил, что мне нужно копаться и разрезать код, чтобы добиться эффекта парения. Вот результат (в основном дословно от http://people.iola.dk/olau/flot/examples/interacting.html).

Единственный параметр, который необходимо изменить при инициализации flot, - это объект параметров. Необходимо включить это как один из вариантов:

var options = {
 //... : {},
 grid: { hoverable: true }
};

Эта функция создает и показывает элемент всплывающей подсказки при вызове. Параметры x и y являются смещениями внутри flot, поэтому подсказка располагается правильно. Содержимое - это то, что показано во всплывающей подсказке

function showTooltip(x, y, contents) {
        $('<div id="tooltip">' + contents + '</div>').css({
            position: 'absolute',
            display: 'none',
            top: y + 5,
            left: x + 5,
            border: '1px solid #fdd',
            padding: '2px',
            'background-color': '#fee'
        }).appendTo("body").fadeIn(200);
    }

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

    var previousPoint = null;
    $("#flotPlaceHolder").bind("plothover", function (event, pos, item) {
        if (item) {
            if (previousPoint != item.dataIndex) {
                previousPoint = item.dataIndex;

                $("#tooltip").remove();
                var x = item.datapoint[0].toFixed(0),
                    y = item.datapoint[1].toFixed(0);

                showTooltip(item.pageX, item.pageY, "(" + x + "," + y + ")");
            }
        }
        else {
            $("#tooltip").remove();
            previousPoint = null;
        }
    });
3 голосов
/ 26 октября 2012

Проверьте эту библиотеку на предмет всплывающей подсказки и интеграции flot

https://github.com/krzysu/flot.tooltip

1 голос
/ 01 октября 2012

Вы можете добавить пользовательские данные в массив данных и использовать их для отображения подсказок.

Смотрите мой ответ и полный пример здесь: отображение пользовательской подсказки при наведении курсора на точку в flot

1 голос
/ 12 мая 2011

http://craigsworks.com/projects/qtip2/demos/#flot - моя любимая библиотека подсказок JS. Это довольно круто и имеет интеграцию флота.

...