Документация для графа репутации переполнения стека (FLOT)
-
30-09-2019 - |
Вопрос
Есть ли документация, доступная для создания флота, похожий на то, что мы можем найти в переполнении стека Профиль / репутация вкладка?
Из исходного кода я могу видеть, что данные запрашиваются по этому адресу: /users/rep-graph/341106/" + ranges.xaxis.from.toFixed(1) + "/" + ranges.xaxis.to.toFixed(1)
Но я не знаю ценностей from
а также to
поля в URL может принять.
РЕДАКТИРОВАТЬ:
На этом графике мы можем видеть, что две точки выделены, и в результате что два вопрос перечислены на стороне, что означает, что значения нанесенные значения связаны с пользовательские данные.
Однако, если я считаю примером PKH, только точки (и этикетка) предоставляются на флоту:
label: "United States",
data: [[1990, 18.9], [1991, 18.7] ....
Так что я хотел бы увидеть:
- Как связать данные с точками
- Как обновить панель в соответствии с выбором графа [но, возможно, эта часть на самом деле не выполняется самим флотом
Решение
В этом случае они передают временные метки JavaScript через URL.
Так что на стороне бэкэнда они должны делать что-то подобное (псевдокод):
//get parameters from URL, non-rails people would just use POST or GET variables
$from = $_GET['from']
$to = $_GET['to']
//convert to timestamps in your language
$from = $from/1000
$to = $to/1000
//query your data source with these time-based restrictions
//return a JSON data set with the given restrictions, linking the known timestamps to labels
Для вашего второго вопроса выберите свой серверную сторону вернуть ассоциативный массив, связывая Timestamp в объект данных, который в этом случае содержит усиление, потеря, URL, заголовок. В обратном вызове успеха вы их отображаете. Вот пример объекта данных:
{ 1274774400000 : {
Gain:0,
Loss:10,
Url:'http://asdf.com',
Title:'We lost some rep here... boohoo'
},
1274947200000 : {
Gain:10,
Loss:0,
Url:'http://asdf.com',
Title:'We gained some rep here... woo!'
}
}
Вы можете увидеть этот тип объекта, используемого в showReputation
Функция на странице, которую вы ссылались ... За исключением, что они вернули массив JSON вместо объекта.
Другая функция, которую вы можете легко добавить, приведенные вышеуказанные данные: событие PlotClick, которое подчеркивает данную точку данных, когда щелкните его.
Другие советы
Похоже, они используют плагин выбора Flot. Вот а Основной пример его использования.
ranges
это аргумент для plotselected
обработчик, и так from
а также to
может быть любое допустимое значение для данной оси. (Выбор может быть вдоль осей x, y или (x и y).)