MATLAB-使用基于城市颜色的两种颜色的渐变填充地图

MATLAB-使用基于城市颜色的两种颜色的渐变填充地图,matlab,matlab-figure,gradient,Matlab,Matlab Figure,Gradient,我有一张地图,每个城市都被划分在r=0和r=1之间,我在下图中使用颜色[r 0 1-r]绘制了这张地图,这给了我每个城市介于红色和蓝色之间的颜色。在这种情况下,圆圈仅用于测试,在最终图像中不应可见。目前,圆半径表示每个城市的可用数据量。国家大纲使用了这些数据。以下是目前为止的结果: 我的目标是用红色/蓝色的非线性渐变填充地图,考虑到这些数据并进行外推 (在本例中,边界看起来相当线性,但情况并非总是如此,因此需要非线性渐变) 谁能给我指出正确的方向吗?谢谢大家! 您可能正在寻找的是,它允许您使用

我有一张地图,每个城市都被划分在r=0和r=1之间,我在下图中使用颜色[r 0 1-r]绘制了这张地图,这给了我每个城市介于红色和蓝色之间的颜色。在这种情况下,圆圈仅用于测试,在最终图像中不应可见。目前,圆半径表示每个城市的可用数据量。国家大纲使用了这些数据。以下是目前为止的结果:

我的目标是用红色/蓝色的非线性渐变填充地图,考虑到这些数据并进行外推

(在本例中,边界看起来相当线性,但情况并非总是如此,因此需要非线性渐变)


谁能给我指出正确的方向吗?谢谢大家!

您可能正在寻找的是,它允许您使用各种方法插值(不均匀)分散的数据点。因此,您可以在网格上计算插值(可以使用
meshgrid
ndgrid
创建),然后使用
surf
绘制插值函数。

谢谢!这看起来很有希望,我会努力实现它。知道如何将网格限制为仅在国家轮廓内的坐标吗?我假设您有一个形成国家边界的顶点列表?您可以在多边形中尝试
。我建议只将外部值设置为
NaN
(使用逻辑索引是最简单的),这样您仍然可以使用
surf
mesh
(忽略
NaN
值)完美!我最终使用了最近邻插值,部分原因是其他插值方法似乎无法在现有数据限制之外进行外推,部分原因是它实际上看起来更好。