matlab normalize_MATLAB作图实例:33:查看蜂窝塔放置的密度

b7906d851fbb97d30d194444931b87e0.png

此示例说明如何使用地理密度图查看加利福尼亚州蜂窝塔放置的密度。

加载蜂窝塔放置数据

将蜂窝塔放置数据表加载到工作空间中,并查看前几行。该表包括一些字段,这些字段通过纬度和经度来标识蜂窝塔的位置,并标识塔的类型。

 load cellularTowers
 head(cellularTowers)
 ans=8×10 table
      ID     Latitude    Longitude          City             County       State    NEPA    SUPSTRUC    ALLSTRUC    STRUCTYPE
     ____    ________    _________    _________________    ___________    _____    ____    ________    ________    _________
 ​
     2166     37.119      -121.83     "MORGAN HILL"        SANTA CLARA     CA       N        46.9        50.6        MAST   
     2167     37.346      -121.63     "SAN JOSE"           SANTA CLARA     CA       N         2.4         2.4        PIPE   
     2168     37.158      -121.98     "REDWOOD ESTATES"    SANTA CLARA     CA       N        24.7        25.3        TOWER  
     2169     37.366      -122.14     "LOS ALTOS HILLS"    SANTA CLARA     CA       N        18.3        19.8        POLE   
     2170     37.402      -122.18     "STANFORD"           SANTA CLARA     CA       N         6.4         6.4        POLE   
     2171     37.258      -122.03     "SARATOGA"           SANTA CLARA     CA       N        10.1        11.9        B      
     2172     37.434      -121.89     "MILPITAS"           SANTA CLARA     CA       N        17.1        17.7        POLE   
     2173     37.446      -121.89     "MILPITAS"           SANTA CLARA     CA       N        19.5        19.5        B      

以地理散点图查看数据

使用geoscatter函数绘制蜂窝塔数据。在该图中,旧金山周围有清晰的区域,那里的塔楼数量太稠密而无法使用散点图来表示。

 geoscatter(cellularTowers.Latitude, cellularTowers.Longitude, '.')
 text(gca,37.75,-122.75,'San Francisco','HorizontalAlignment','right')

1727dc4fa57329a1d8979354f59dadbd.png

以地理密度图查看数据

可以使用geodensityplot来显示旧金山地区蜂窝塔的密集区域。

 geodensityplot(cellularTowers.Latitude, cellularTowers.Longitude)
 text(gca,37.75,-122.75,'San Francisco','HorizontalAlignment','right')

501a5c691a96a24aa25f838438b06096.png

创建指定半径的密度图

创建地理密度图时,默认情况下,密度图会使用纬度和经度数据自动选择半径值。使用该Radius属性可以手动选择以米为单位的半径。

 radiusInMeters = 50e3; % 50 km
 geodensityplot(cellularTowers.Latitude, cellularTowers.Longitude,'Radius',radiusInMeters)

0bc9dbeab0d1229b540c8f27d33c0052.png

使用轴属性调整透明度

设置为时'interp',密度图的FaceAlphaFaceColor属性分别使用基础地理轴的AlphamapColormap属性。更改Alphamap会改变浓度值到颜色强度的映射。

 geodensityplot(cellularTowers.Latitude, cellularTowers.Longitude)
 alphamap(normalize((1:64).^0.5,'range'))

3b3e7244cc4193c7953212c59c295946.png

地理轴上的AlphaScale属性也可以用于更改透明度。当试图显示任何密度的区域而不是突出显示最密集的区域时,此属性特别有用。

 figure
 dp = geodensityplot(cellularTowers.Latitude, cellularTowers.Longitude)
 dp = 
   DensityPlot with properties:
 ​
         FaceColor: [0 0.4470 0.7410]
         FaceAlpha: 'interp'
      LatitudeData: [1×1193 double]
     LongitudeData: [1×1193 double]
        WeightData: [1×0 double]
            Radius: 1.8291e+04
 ​
   Show all properties
 gx = gca
 gx = 
   GeographicAxes with properties:
 ​
      Basemap: 'streets-light'
     Position: [0.1300 0.1100 0.7750 0.8150]
        Units: 'normalized'
 ​
   Show all properties
 gx.AlphaScale = 'log';

3b3e7244cc4193c7953212c59c295946.png

使用DensityPlot对象属性指定颜色

添加颜色。

 dp.FaceColor = 'interp';
 colormap hot

323aa2f51846e4c7afe58de83569cb6d.png

注:本文根据MATLAB官网内容修改而成。

我推荐给你以下的视频教程,特点是没有PPT,不掺水,直接编程环境下的实操课程: 用360分钟了解MATLAB编程《MATLAB编程360》视频课程:

MATLAB编程360 - 网易云课堂study.163.com​study.163.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值