Допоможіть вибрати найбільш підходящу кольорову схему фарбування двохоріантного хоплеплету


10

Я намагаюсь накласти номінальну змінну (2 категорії - дощовий та зрошуваний) в хороплетній карті над числовою змінною.

введіть тут опис зображення

Для того, щоб виділити різницю у малюнку між двома категоріями, я окреслив одну категорію з іншим кольором (зрошувані ділянки в «червоному»), а незабарвлені - це дощові ділянки.

Однак карта відчувається захаращеною, і контур змішується з більш темними відтінками числової змінної.

Я намагаюся уникати використання двох різних кольорових схем відтінку для представлення двох категорій, як я вважаю, що приховувало б загальний розподіл базової змінної.

Чи є кращий спосіб представити цю двовимірну класифікацію за допомогою пакету ggplots2 в R (який я зараз використовую для створення доданої карти)?

Ці карти з часом будуть надруковані на папері.


Розглянемо обчислення евклідової відстані на межах поливної зони. Більше деталей тут: gis.stackexchange.com/q/53163/8104
Аарон

@Aaron, дякую за посилання, спрямоване затінення може працювати для цього, і я міг би використати інструмент буфера для малювання цих областей у Р. Але моє єдине занепокоєння - це порівняно невеликий розмір полігонів, який може бути роздутий ширшими контури. Я спробую це.
varungoel123

@ varungoel123 Я опублікував рішення R за допомогою rasterта rasterVisпакунків, які можуть вас зацікавити.
thiagoveloso

Відповіді:


7

Замість обрисів, щоб позначити зрошувані ділянки, слід використовувати щось на зразок прозорого шаблону заливки (наприклад, лінії, люки). Приклад виглядає приблизно так:

http://www.geog.fu-berlin.de/de/Karto/umn_karten/bilder/komb2.png

або просто "google" шаблони заповнення карти ", щоб отримати огляд варіантів. Використання обрисів лише для зрошуваних ділянок створювало б враження, що зрошення - це не безперервне явище.


Це чудова пропозиція. Чи є спосіб це зробити в ggplot2 чи іншому пакеті R? У мене є близько 60-70 карт, де розмітка дощових та зрошуваних ділянок залишається постійною. За допомогою ggplot2 мені вдалося автоматизувати виготовлення карт, чого я не зміг досягти, використовуючи ArcMap або Qgis
varungoel123

Я не знайомий з ggplot2 або R. Однак ця схема заповнення є досить стандартною річчю, і її не може бути занадто складно досягти. Я знаю, як це зробити в Qgis або ArcMap. В обох програмах ви можете зберегти цей стиль, як тільки ви його визначили та повторно використали. Автоматизація повинна бути можливою з обома. Сценарій python або arcpy можуть зробити цю роботу за вас.
Кріс П

1
На жаль, ggplot не дуже підходить для моделей заповнення (але дивіться тут альтернативу)
cengel

QGis у версії 2.0.1 пропонує також автоматичне виготовлення карт
Збєнек,

1

Нещодавно мені довелося зробити подібну карту. Рішення, яке я придумав, використовує пакет rasterVis, а не ggplot2 (це, до речі, приголомшливий пакет).

У моєму випадку у мене була карта тенденцій у часі (що також є числовою змінною), а також карта, що показує значення тенденції (отримана статистичним тестом).

У моєму випадку я хотів побудувати карту значущості на верхній частині цифрової карти, щось подібне до «заплутаного» шаблону, щоб показати, де рівень довіри вище.

Це приблизно код, який я використовував для створення карти.

require(raster)
require(rasterVis)

# Scratch raster objects
data(volcano)
r1 <- raster(volcano)

over <- ifelse(volcano >=160 & volcano <=180, 1, NA) # This is the "mask" raster
r2 <- raster(over)

# And this is the key step:
# To convert the "mask" raster to spatial points
r.mask <- rasterToPoints(r2, spatial=TRUE)

# Plot
levelplot(r1, margin=F) +
layer(sp.points(r.mask, pch=20, cex=0.3, alpha=0.8))

У вашому випадку ви можете змінити код:

1) створення "двійкового" растру, де, наприклад, 0 дощується, а 1 зрошується, і побудувати його так, як я це зробив або;

2) створення двох різних масок, однієї для дощу та іншої для зрошення, і побудувати їх обох як різні об'єкти (наприклад, кола для дощу та хрестики для дощу).

Я думаю, що друга альтернатива зробить карту надто візуально «забрудненою», але ви завжди можете контролювати параметри точок, звернувшись до spпакетної документації - конкретно ?sp.points.

Сподіваюся, це допомагає.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.