matlab的scatter函数如何绘制 经度 纬度 对应的值
时间: 2024-05-03 16:16:37 浏览: 261
要在 MATLAB 中使用 scatter 函数绘制经度、纬度对应的值,需要先将经纬度转换为平面坐标系的 x, y 坐标。这可以使用 MATLAB 中的 m_proj 和 m_ll2xy 函数来实现。
下面是一个简单的示例代码:
```matlab
% 创建地图投影对象
m_proj('mercator', 'lon', [min_lon max_lon], 'lat', [min_lat max_lat]);
% 将经纬度转换为平面坐标系的 x, y 坐标
[x, y] = m_ll2xy(lon, lat);
% 绘制散点图
scatter(x, y, val);
```
其中,`lon` 和 `lat` 是经度和纬度的向量,`val` 是与经纬度对应的值的向量。`min_lon`、`max_lon`、`min_lat` 和 `max_lat` 分别是经度和纬度的最小值和最大值。
以上代码中使用的是墨卡托投影,还可以根据需要选择其他类型的地图投影。
相关问题
matlab绘制平面经度纬度
以下是使用Matlab绘制平面经度纬度的示例代码:
```matlab
% 读取数据
data = load('data.txt');
lon = data(:, 1); % 经度
lat = data(:, 2); % 纬度
% 绘制散点图
scatter(lon, lat, 10, 'filled');
xlabel('经度');
ylabel('纬度');
title('平面经度纬度图');
```
其中,`data.txt`是包含经度和纬度数据的文本文件,每行两个数,用空格或制表符分隔。
如果你想绘制更加复杂的地图,可以使用Matlab自带的Mapping Toolbox,该工具箱提供了许多绘制地图的函数和工具。例如,你可以使用`geoshow`函数绘制地图:
```matlab
% 读取数据
data = load('data.txt');
lon = data(:, 1); % 经度
lat = data(:, 2); % 纬度
% 绘制地图
figure;
worldmap('world');
load coastlines;
geoshow(coastlat, coastlon, 'Color', 'black');
scatterm(lat, lon, 10, 'filled');
title('平面经度纬度地图');
```
该代码会在地图上绘制出经度纬度对应的散点图,并在地图上标出散点的位置。
matlab画空心点图,一列经度一列纬度,无对应数据,怎么让这个圆圈小一些
你可以使用 "scatter" 函数绘制空心点图,并通过修改 "MarkerEdgeColor" 和 "MarkerFaceColor" 属性来控制点的颜色和边框颜色。如果你想让点的大小变小,可以通过修改 "MarkerSize" 属性来实现。下面是一个简单的示例代码:
```matlab
% 生成一些随机数据
lon = randn(100, 1) * 10;
lat = randn(100, 1) * 10;
% 绘制空心点图
scatter(lon, lat, [], 'b', 'o', 'LineWidth', 1.5, 'MarkerEdgeColor', 'k', 'MarkerFaceColor', 'none', 'MarkerSize', 7);
```
在上面的代码中,"MarkerSize" 属性控制点的大小,你可以根据需要将其设置为更小的值。
阅读全文