2015-01-08 43 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值相关,你可以用它作为索引。

相关问题