У меня есть десятки тысяч (возможно, сотни тысяч) точек, которые мне нужны, с графиками Highcharts. Есть ли способ, с помощью которого я могу скопировать данные на сервере, поэтому он будет показывать менее 1000 точек, но по мере того, как вы увеличиваете масштаб, это вызовет AJAX на сервер, чтобы получить данные для этого увеличенного региона (он, вероятно, пройдет через один и тот же кластерный алгоритм). Как этот интерфейс с API Highcharts?Highcharts большой набор данных кластеров
ответ
Вот улучшение ответа Барбары,
Он регистрируется в случае setExtremes, знать, если это событие сброса масштаба. Если это так - он получает весь набор данных, , что позволяет сбрасывать масштаб для правильной работы.
Он также позволяет масштабировать как x, так и y.
var isReset = false;
...
xAxis: {
events: {
afterSetExtremes : afterSetExtremes,
setExtremes: function (e) {
if (e.max == null || e.min == null) {
isReset = true;
}
else
{
isReset = false;
}
}
},
minRange: 3600 * 1000 // one hour
},
series: [{
data: data,
dataGrouping: {
enabled: false
}
}]
});
});
});
/**
* Load new data depending on the selected min and max
*/
function afterSetExtremes(e) {
var url,
currentExtremes = this.getExtremes(),
range = e.max - e.min;
var chart = $('#container').highcharts();
var min = 0;
var max = 1.35e12;
if(!isReset)
{
min = e.min;
max = e.max;
}
chart.showLoading('Loading data from server...');
$.getJSON('http://www.highcharts.com/samples/data/from-sql.php?start=' + Math.round(min) +
'&end=' + Math.round(max) + '&callback=?', function (data) {
chart.series[0].setData(data);
chart.hideLoading();
});
}
Существует демонстрация высокого уровня, которая делает это http://www.highcharts.com/stock/demo/lazy-loading. Но вы можете сделать то же самое с Highcharts http://jsfiddle.net/RHkgr/ Важным бит является afterSetExtremes функционировать
...
xAxis : {
events : {
afterSetExtremes : afterSetExtremes
},
...
/**
* Load new data depending on the selected min and max
*/
function afterSetExtremes(e) {
var url,
currentExtremes = this.getExtremes(),
range = e.max - e.min;
var chart = $('#container').highcharts();
chart.showLoading('Loading data from server...');
$.getJSON('http://www.highcharts.com/samples/data/from-sql.php?start='+ Math.round(e.min) +
'&end='+ Math.round(e.max) +'&callback=?', function(data) {
chart.series[0].setData(data);
chart.hideLoading();
});
}
В другой заметке, что jsfiddle не работает правильно, попробуйте масштабировать, а затем перепродать. Мне нужно проверить исходные данные – Ray
В случае, если вы не будете иметь предел точек, можно увеличить turboThreshold параметра Я.
Я пробовал это, и это нецелесообразно, поскольку я должен поддерживать IE8: «( – Ray
Вы имеете в виду, что турбопороговый режим не работает в IE8? Можете ли вы воссоздать свой пример в jsfiddle.net? –
Нет, IE8 не очень хорошо справляется с этим множеством объектов. Он будет спрашивать вас много раз, если вы хотите убить скрипт. – Ray
- 1. Передать большой набор данных
- 2. Barplot большой набор данных
- 3. Нокаут + большой набор данных
- 4. hadoop большой набор данных
- 5. Большой набор данных и winforms
- 6. Большой набор данных на Sigma.js
- 7. Развернуть очень большой набор данных
- 8. Сколько стоит «большой» набор данных?
- 9. Визуально заказать большой набор данных
- 10. Большой набор данных для хранилища данных?
- 11. Набор инструментов для развертывания кластеров на Azure
- 12. Большой набор данных и адресная книга ABAddressBookCopyArrayOfAllPeople
- 13. Discover периодические структуры в большой набор данных
- 14. Большой набор данных, превышающий максимальное время выполнения
- 15. Загрузите большой набор данных в магазин sencha
- 16. Частичная строка слияния R большой набор данных
- 17. «Тема прерывается» 0n большой набор данных
- 18. d3 - Постепенно нарисуйте большой набор данных
- 19. ASP.net 3.5 Webservice возвращает большой набор данных
- 20. Как читать большой набор данных в R
- 21. Используйте большой набор данных в Tensorflow
- 22. анализ воронки с пандами (большой набор данных)
- 23. Как быстро фильтровать большой набор данных?
- 24. Насколько большой набор данных может обрабатывать ELKI?
- 25. javafx 3d performance большой набор данных
- 26. MongoDB: Разделите большой набор данных самостоятельно?
- 27. Bootstrap, массивы, большой набор данных, vba
- 28. Большой/сложный набор данных для проверки ORM?
- 29. Как включить большой набор данных AzureWebRole
- 30. Большой тестовый набор данных в репозитории
Я предполагаю, что я должен был бы поймать 'selected' событие, то всплывающее окно загрузки, а затем AJAX вызова, а затем удалить данные и добавить новые данные, но как бы сигналить потому что этот метод не учитывал бы этого. – Ray
На самом деле, я думаю, что это может сработать. Я думаю, что это будет учитывать масштабирование, так как тогда оси будут обновляться. Мне просто нужно показать кнопку Reset Zoom, которая будет показывать исходные данные. – Ray