Хотя я знаю, что существует ряд функций для генерации тепловых карт в R, проблема в том, что я не могу создавать визуально привлекательные карты. Например, изображения ниже являются хорошими примерами тепловых карт, которых я хочу избежать. В первом явно не хватает деталей, а в другом (основанном на тех же пунктах) слишком подробно, чтобы быть полезным. Оба графика были созданы с помощью функции density () в пакете spatstat R.
Как я могу получить больше «потока» на мои участки? То, к чему я стремлюсь, - это внешний вид, который могут дать результаты коммерческого программного обеспечения SpatialKey ( скриншот ).
Любые подсказки, алгоритмы, пакеты или строки кода, которые могут привести меня в этом направлении?
r
data-visualization
spatial
Figaro
источник
источник
Ответы:
Есть две вещи, которые будут влиять на гладкость графика: полоса пропускания, используемая для оценки плотности ядра, и разрывы, которым вы назначаете цвета на графике.
По моему опыту, для исследовательского анализа я просто настраиваю полосу пропускания, пока не получу полезный график. Демонстрация ниже.
Простое изменение цветовой схемы по умолчанию не поможет, равно как и изменение разрешения пикселей (если разрешение по умолчанию слишком точное, вам следует уменьшить разрешение и увеличить пиксели). Хотя вы можете изменить цветовую схему по умолчанию для эстетических целей, она предназначена для высокой степени дискриминации.
Вещи, которые вы можете сделать, чтобы помочь цвету, изменить уровень шкалы на логарифмы (это действительно поможет, только если у вас очень неоднородный процесс), изменить цветовую палитру, чтобы она менялась более низко (смещение в терминах спецификации цветовой шкалы в R) или измените легенду, чтобы иметь дискретные ячейки вместо непрерывных.
Примеры смещения в легенде адаптированы отсюда , и у меня есть еще один пост на сайте ГИС, объясняющий раскраску дискретных корзин в довольно простом примере здесь . Это не поможет, хотя, если шаблон закончен или недостаточно сглажен, хотя для начала.
Чтобы сделать цвета прозрачными на последнем изображении (где первый цветовой контейнер белый), можно просто сгенерировать цветовую линейку и затем заменить спецификацию RGB прозрачными цветами. Пример ниже, используя те же данные, что и выше.
источник
Вы можете воспользоваться функцией interp из пакета akima. Это позволит вам интерполировать вашу матрицу в другое разрешение, если это будет необходимо. Чтобы сделать что-то вроде вашего связанного примера, вам нужно будет интерполировать в довольно тонкую сетку (возможно, с аргументами xo и yo длиной ~ 1000). Это даст вам новую матрицу, которую вы можете построить с помощью image (). Если вы хотите прозрачности, это потребует дополнительной работы. Это нелегко сделать с помощью цветовой палитры, поэтому вам может понадобиться построить каждую сетку как многоугольник с назначенным цветом.
источник
Вы можете посмотреть на ggplot2. Кажется, что у пакета, который вы пробовали, нет отличных цветовых схем или «потока» - взгляните на RColorBrewer. Есть блог, где реализован этот пакет с простым примером.
Я не уверен, что вы пытаетесь построить географические данные, как показано в связанном примере, но если вы знаете, Google предлагает «Руководство разработчика API Static Maps V2», и вы можете объединить Google и R с пакетом, называемым RgoogleMaps ,
Удачи в ваших исследованиях.
источник
Вы пытались проверить разрешение в
density
? Попробуйте аргументdimyx=c(512, 512)
или выше.источник