matlab 如何完全平滑从csv文件绘制的热图中的像素?

3b6akqbq  于 2023-01-17  发布在  Matlab
关注(0)|答案(2)|浏览(267)

因此,我想知道是否有人可以帮助使用matlab或ArcGIS或任何其他软件平滑绘制的热图的像素(我正在寻找整个脚本)。当我使用ArcGIS时,我导入了一个包含三列的csv文件(纬度、经度和风速值),我能得到的最好的结果是如screnshot. my output中所示,但是我想要的输出或热图必须看起来像the goal
我真的尝试了每一个单一的解决方案,但像素似乎没有disspear(即使我尝试了QGIS软件,但总是得到相同的结果)。所以我听说Matlab也可以绘制热图,我从来没有使用过它,所以如果有人能帮助我将心存感激。
我想知道人们怎么能在他们的研究中画出如此光滑、呈现良好的热图?有什么想法吗?我甚至试着用Python绘图,但一点帮助都没有,因为我想把东西画在Map上,而不是方块上。
先谢了。

mpbci0fu

mpbci0fu1#

我有一个建议/答案给你。一个伟大的事情关于Matlab库是,它有一个内置的函数称为“imgaussfilt”平滑的像素,无论你正在使用的热图。你可以阅读更多的细节“imgaussfilt”函数与Matlab库文档。另一个函数,Matlab他在它的库被称为“smoothdata”。与此库函数,它也会平滑你的热图上的像素,类似于“imgaussfilt”的功能。
我没有你的示例代码,所以我不能真正为你提供一个脚本示例,包括我的修改,所以请下次发布一些示例代码,我们可以帮助你更进一步的示例脚本的答案.欢迎来到社区,顺便说一句.

mfpqipee

mfpqipee2#

(In MATLAB)读入CSV作为“热图”,然后使用imgaussfilt对其进行平滑。

heatmap_smooth = imgaussfilt(heatmap, 2);
imagesc(heatmap_smooth);

在基本MATLAB中,还有其他方法可以通过使用smoothdata函数来完成此操作。

heatmap_smooth = smoothdata(heatmap,'movmean',3);

您可以在https://matlab.mathworks.com/上试用代码。

相关问题