Визуализация данных: рисование появления значения в сетке

1

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

Скажем, что я хочу нарисовать появление элементов в Нью-Йорке в квадратной сетке.

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

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");

ctx.canvas.width = window.innerWidth;
ctx.canvas.height = window.innerHeight;

for (var i = 0; i < array.length; i++) {
    var lat = array[i].latitude;
    var lon = array[i].longitude;

    ctx.rect(lat*10,(lon+200)*2, 4, 4);
    ctx.stroke();
}

Мой массив выглядит примерно так и содержит 100 000 объектов:

var modified_array = 
[{"city":"NYC","longitude":-73.935242,"latitude":40.730610},
 {"city":"NYC","longitude":-74.044502,"latitude":40.689247}]

Сейчас он ничего не отображает, и я не вижу, что я сделал неправильно...

Использую ли я правильный подход для рисования (квадратной) сетки?

Теги:
arrays
data-visualization
key-value

1 ответ

0

Ваш код работает точно так же, как и для меня. Чтобы проверить это, я задал массив формы:

var array = [{latitude: 1.2, longitude: 1.3}]

Возможно, это ваш html или массив не имеет того формата, который вы ожидаете.

Проверьте этот пример: https://codepen.io/anon/pen/mwyLMg

Ещё вопросы

Сообщество Overcoder
Наверх
Меню