2017-02-17 56 views
0

我试图用颤抖来绘制经纬度和纬度的数据与u和v风的组件与轮廓地图给定的坐标到地图或纬度限制南部和北部和东部和北部的经度限制。 我用颤抖,看起来像这样的数据:MATLAB颤抖和usamap

lats =  
    17.4154 17.4862 17.5570 17.6278 17.6986 17.7695 17.8403 17.9113 17.9822 18.0532 
    17.4406 17.5114 17.5822 17.6530 17.7239 17.7948 17.8657 17.9367 18.0077 18.0787 
    17.4657 17.5365 17.6074 17.6783 17.7492 17.8201 17.8911 17.9621 18.0331 18.1042 
    17.4908 17.5616 17.6325 17.7034 17.7744 17.8453 17.9163 17.9874 18.0584 18.1295 
    17.5157 17.5866 17.6576 17.7285 17.7995 17.8705 17.9416 18.0126 18.0837 18.1548 
    17.5407 17.6116 17.6826 17.7535 17.8246 17.8956 17.9667 18.0378 18.1089 18.1801 
    17.5655 17.6365 17.7075 17.7785 17.8496 17.9207 17.9918 18.0629 18.1341 18.2053 
    17.5903 17.6613 17.7324 17.8034 17.8745 17.9457 18.0168 18.0880 18.1592 18.2304 
    17.6151 17.6861 17.7572 17.8283 17.8994 17.9706 18.0418 18.1130 18.1842 18.2555 
    17.6398 17.7108 17.7820 17.8531 17.9242 17.9954 18.0667 18.1379 18.2092 18.2805 

lons = 
-126.6557 -126.6822 -126.7086 -126.7352 -126.7617 -126.7884 -126.8151 -126.8418 -126.8686 -126.8954 
-126.5816 -126.6079 -126.6344 -126.6608 -126.6874 -126.7139 -126.7406 -126.7672 -126.7939 -126.8207 
-126.5074 -126.5337 -126.5600 -126.5865 -126.6129 -126.6394 -126.6660 -126.6926 -126.7193 -126.7460 
-126.4331 -126.4594 -126.4857 -126.5120 -126.5384 -126.5649 -126.5914 -126.6179 -126.6445 -126.6712 
-126.3588 -126.3850 -126.4113 -126.4375 -126.4639 -126.4903 -126.5167 -126.5432 -126.5697 -126.5963 
-126.2845 -126.3106 -126.3368 -126.3630 -126.3893 -126.4156 -126.4420 -126.4684 -126.4949 -126.5214 
-126.2101 -126.2361 -126.2623 -126.2884 -126.3147 -126.3409 -126.3672 -126.3936 -126.4200 -126.4465 
-126.1356 -126.1616 -126.1877 -126.2138 -126.2400 -126.2662 -126.2924 -126.3187 -126.3451 -126.3715 
-126.0611 -126.0871 -126.1131 -126.1391 -126.1652 -126.1914 -126.2176 -126.2438 -126.2701 -126.2964 
-125.9866 -126.0125 -126.0384 -126.0644 -126.0904 -126.1165 -126.1427 -126.1688 -126.1951 -126.2214 

uu = 
    4.3284 4.2194 4.1311 4.1058 4.1257 4.1565 4.1577 4.1154 4.0786 4.0919 
    4.2915 4.1725 4.1192 4.0914 4.1078 4.1434 4.1444 4.1023 4.0698 4.0883 
    4.2893 4.1729 4.0948 3.9822 3.9411 4.0315 4.0849 4.0789 4.0656 4.0933 
    4.3015 4.1781 4.0060 3.5111 3.2246 3.6142 3.9358 4.0968 4.1293 4.1583 
    4.3201 4.1979 3.9442 2.6250 2.0477 3.1333 3.9762 4.4323 4.4857 4.4572 
    4.3446 4.2282 4.0007 2.9749 2.6363 3.5457 4.2251 4.5204 4.5032 4.4514 
    4.3702 4.2574 4.0144 2.8532 2.4080 3.4183 4.2457 4.5984 4.5740 4.4791 
    4.3983 4.2892 4.0523 2.9604 2.6090 3.6026 4.3398 4.6455 4.6028 4.4814 
    4.4308 4.3219 4.0731 2.9737 2.5745 3.5884 4.3988 4.7215 4.6732 4.5380 
    4.4656 4.3617 4.1061 3.0083 2.6543 3.7259 4.4764 4.7422 4.7200 4.5402 

vv = 
    7.6193 7.5646 7.5514 7.5293 7.4777 7.4330 7.3959 7.3713 7.3514 7.3114 
    7.5880 7.5226 7.4864 7.4412 7.3617 7.3057 7.2689 7.2468 7.2266 7.1901 
    7.5464 7.5055 7.4640 7.3788 7.1708 7.0795 7.0404 7.0467 7.0437 7.0212 
    7.4983 7.4718 7.4614 7.4554 6.9534 6.7995 6.7157 6.7514 6.7704 6.7739 
    7.4479 7.4317 7.4620 7.8292 7.6354 7.3127 7.0606 6.9834 6.9749 6.9598 
    7.3954 7.3845 7.4144 7.7126 7.6237 7.3166 7.1730 7.1403 7.0985 7.0679 
    7.3465 7.3394 7.3758 7.7103 7.6388 7.3369 7.0627 6.9815 6.9544 6.9366 
    7.2992 7.2950 7.3309 7.6507 7.6157 7.3175 7.1008 7.0046 6.9853 6.9644 
    7.2528 7.2506 7.2908 7.6194 7.6034 7.2784 7.0555 6.9419 6.9320 6.9356 
    7.2087 7.2043 7.2474 7.5870 7.5538 7.2332 7.0420 6.9274 6.9017 6.9057 

我试图用颤抖这样这些变量,我得到一个情节看起来罚款:我试图覆盖

quiver(lons, lats, uu, vv); 

使用使用usamap这个代码的地图叠加在一个地图轮廓形式颤动情节:

latlimf = [17.4154, 18.2805]; 
lonlimf = [-126.8954, -125.9866]; 
usamap(latlimf, lonlimf); 

问题是颤动情节变得覆盖usamap请求以空白地图的形式,即使我使用hold on来保持抖动情节。

+0

使用颤抖的形式:颤抖(lats,lons,uu,vv)给了我颤抖的箭头和lat和lon轴,但仍然不知道如何使用usamap或世界地图给出轮廓图给出了lats的范围和lons。谢谢你 – user2100039

+0

你试图显示地图,然后做颤抖? –

+0

嗨 - 是的,它首先与usamap(latlim,lonlim)然后颤抖,但我需要状态或地区的界限,我试着用--- states = shaperead('usastatehi',... 'UseGeoCoords '真 '的BoundingBox',[lonlim',latlim']);与geoshow(斧,国家),我得到一个轴错误,期待输入数字1,LAT和matlab.graphics.axis.Axes错误。 – user2100039

回答

0

根据文档,usamap总是返回一组新的坐标轴,因此您必须首先绘制坐标轴。没有选择在您正在尝试执行的现有坐标轴上制作地图,很可能是因为涉及到自定义投影。

在地图投影轴上绘图也需要特殊处理。使用quiverm而不是常规quiver要做到这一点,并且一定要阅读链接文档页面上的所有注意事项:

latlimf = [17.4154, 18.2805]; 
lonlimf = [-126.8954, -125.9866]; 
usamap(latlimf, lonlimf); 
quiverm(lats, lons, vv, uu); 

注意,参数quiverm被向后相比,你试图传递给quiver什么。