2015-01-08 46 views
0

我有以下問題。給定在兩列的表consisiting數據:Shapefile根據相應的值着色

  • COLUMN1:號碼相應的地理區域(例如,區域11,它代表慕尼黑)
  • COLUMN2:在該區域中某個值(例如峯值地面加速度,PGA)

我想在地圖上顯示這些區域及其相應的值(例如PGA)。不平等的價值應該用不同的顏色來表示。例如

  • zone1的PGA = 12顏色= [1.0 1.0 0.0]
  • zone2的PGA = 17顏色= [1.0 0.9 0.5]
  • 3區PGA = 25顏色= [0.6 1.0 1.0]
  • zone1 PGA = 12 color = [1.0 1.0 0.0]

該數據包含約200個區域,總共約160個不同的區域,因此顏色。你會建議爲每個值設置一定的顏色(相同的值=相同的顏色)。

非常感謝您的幫助。 此致敬禮。

+0

什麼是地圖?它是例如彩色地圖還是地理地圖?你想要什麼顏色來代表?這會影響顏色的選擇。 – kkuilla

+0

它基本上是一張地理地圖。然後根據物理值(峯值地面加速度)將該地圖上的不同區域着色爲不同的顏色。顏色表示不同的地面加速度值,例如:由於PGA值較大,加利福尼亞州的海灣區域(區域/區域)呈紅色。 – Turi

+0

你的問題有點不清楚。你所問的問題是你應該選擇什麼顏色或配色方案,但我感覺真正的問題是如何將不同的顏色應用於圖像的區域。 – kkuilla

回答

0

在你的例子中,zone1的PGA = 12。情況總是如此,或者zone1有不同的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命令創建索引並使用該索引。或者,如果我誤解了你想讓你的顏色與PGA值相關,你可以用它作爲索引。

相關問題