Шейп-файлы окрашены в соответствии с соответствующими значениями

У меня следующая проблема. Даны данные в таблице, состоящей из двух столбцов:

  • столбец 1: номера соответствующих географических зон (например, зона 11, что означает Мюнхен)
  • столбец 2: определенное значение в этой зоне (например, пиковое ускорение земли, PGA).

Я хотел бы отобразить эти зоны с соответствующими значениями (например, PGA) на карте. неравные значения должны быть представлены в неравных цветах. Например

  • зона1 PGA=12 цвет=[1.0 1.0 0.0]
  • зона2 PGA=17 цвет=[1.0 0.9 0.5]
  • zone3 PGA=25 цвет=[0,6 1,0 1,0]
  • зона1 PGA=12 цвет=[1.0 1.0 0.0]

Данные содержат около 200 зон, а всего около 160 различных зон и соответственно цветов. Что бы вы предложили установить для каждого значения определенный цвет (одинаковые значения = один и тот же цвет).

Спасибо заранее за вашу помощь. С наилучшими пожеланиями.


person Turi    schedule 08.01.2015    source источник
comment
Что такое карта? Это, например, цветная карта или географическая карта? Что вы хотите, чтобы цвет представлял? Это повлияло бы на выбор цвета.   -  person kkuilla    schedule 09.01.2015
comment
По сути, это географическая карта. Затем различные зоны на этой карте должны быть окрашены по-разному в соответствии с физическим значением (пиковое ускорение грунта). Цвета представляют различные значения ускорения грунта, например: Область залива в Калифорнии (регион/зона) выделена красным из-за большого значения PGA.   -  person Turi    schedule 09.01.2015
comment
ваш вопрос немного не ясен. Вопрос, который вы задали, заключается в том, какие цвета или цветовую схему вы должны выбрать, но я чувствую, что реальный вопрос заключается в том, как вы будете применять разные цвета к областям изображения.   -  person kkuilla    schedule 09.01.2015
comment
Вопрос в основном таков: у меня есть матрица. матрица имеет размер 200x2. 200 = количество географических местоположений. 2 столбца: столбец 1 --› местоположение, столбец 2 --› физическое значение. Для каждого географического местоположения существует физическое значение. Теперь я хотел бы визуализировать это: цвета, представляющие физическую ценность в определенной области.   -  person Turi    schedule 09.01.2015
comment
Вы до сих пор не ответили, хотите ли вы получить совет о том, какие цвета выбрать или как раскрасить изображение в Matlab. Я предполагаю последнее, потому что вы пометили вопрос Matlab.   -  person kkuilla    schedule 09.01.2015


Ответы (1)


В вашем примере у вас есть zone1 с PGA = 12 в обоих случаях. Всегда ли это так, или у зоны 1 когда-либо был другой PGA? Этот ответ предполагает, что он всегда будет иметь один и тот же PGA.

myColorArray = jet(160); %assuming you have 160 unique colors/zones of the 200

Здесь jet — ваша простая встроенная функция для создания красивой палитры Mx3.

Если вы хотите рандомизировать это, чтобы похожие цвета не были рядом друг с другом, вы можете сделать:

myColorArray(randperm(160),:)  = myColorArray;

Теперь я не знаю, является ли ваш фактический первый столбец для зон просто числом от 1 до 160, но если это так, вы можете просто использовать его в качестве индекса для соответствия цветам.

FullColorArray(:,YourMatrix(:,1)) = myColorArray(:,YourMatrix(:,1));

Если это не так, вы можете использовать команду unique для создания индекса и работы с ним.

LimitedZoneMat = unique(YourMatrix(:,1));

Или, если я неправильно понял, и вы хотите, чтобы ваши цвета соотносились со значением PGA, вы могли бы просто использовать это как индекс.

person Aeson    schedule 09.01.2015