问题标签 [matplotlib-basemap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-2.7 - 如何使用 WinPython(或任何 Python 堆栈安装)在 Windows 7 上安装 Matplotlib 底图模块?
我发现当 Python 作为堆栈安装的一部分(如 Anaconda 或 WinPython)安装时,Windows 的 Basemap(matplotlib 和 Python 模块)二进制安装程序无法检测系统上的 Python。安装程序退出,而不是让您指向安装目录。
因此,我必须通过源安装。但是,我不知道执行此操作的方法。Readme.txt 和安装说明似乎没有帮助。他们只是简单地指示“首先安装 geos-3.3.3” - 好吧,究竟如何?我在该目录中没有看到 setup.py。
任何帮助都会很棒。(Python 2.7、Win 7、64b)
python - 地图投影和强制插值
我使用不同的底图投影有一个奇怪的行为。
我想在世界地图上绘制的测量网格的形状是 [181,83]。这意味着我有每个 2°/2° 点的值,范围从 -180° - 180° 经度和 -82° - 82° 纬度。
使用圆柱投影,返回的数据网格等于测量网格,一切都很好。如果我将投影更改为“mill”,则生成的插值数据与其原点不同。
有没有办法按原样绘制测量网格但相对于不断变化的投影?
python-2.7 - 底图仅绘制感兴趣的区域,而不是整个地球
我需要使用 mollweide 投影,但只绘制一个感兴趣的区域。(例如 lat=[10,90], lon=[-25, 45])。基本代码如下。
在 Basemap ( http://matplotlib.org/basemap/api/basemap_api.html#mpl_toolkits.basemap.Basemap )中的一些投影似乎是不可能的。
也许最终的情节可以用多边形掩盖。但也许有更清洁的方法?
ubuntu - 在 Ubuntu 上安装 matplotlib vn 1.2 和 Basemap
我正在尝试在我的 Ubuntu 计算机上安装 Matplotlib 的 vn 1.2,以便我可以使用一些动画功能。至关重要的是,我还需要底图。
我发现导入底图的唯一方法是通过 apt-get。我可以安装 matplotlib 1.2 加载不同的方式 - 使用 pip、apt-get 和从源代码,但无论我做什么,当涉及到输入
我总是被告知将安装 matplotlib,因为 apt-get 看不到我已经拥有的 1.2 版本。
我也尝试过从源代码安装 Basemap(使用这个精彩网站上的说明:http: //peak5390.wordpress.com/2012/12/08/matplotlib-basemap-tutorial-installing-matplotlib-and-basemap/)但是我遇到了与 GEOS 相关的问题,我不知道如何开始解决。如果我可以使用 apt-get 来安装 Basemap,那我会非常高兴。
谢谢
python - 使用底图和笛卡尔绘图不显示 PolygonPatch
我可以像这样绘制一些匀称的缓冲点:
这导致以下情节:
但是,如果我尝试使用底图绘制这些点,它们不会出现:
我究竟做错了什么?
python - 安装/导入底图时出现问题
我已经在我的 64 位机器上安装了 Anaconda(版本 1.6.2)。它带有一组很棒的库,但我还需要 Basemap,它是 matlibplot 的一部分,但它不包含在 Anaconda 安装中。我尝试安装 Basemap 并移动 Anacaonda\Lib\site-packages\mpl_toolkits 目录中的文件,因为它是 mpl_toolkits 库的一部分。但是,当我尝试运行脚本时,我不断收到错误消息:“没有名为 _geoslib 的模块”“无法导入 pyproj”
我找到了 pyproj 库。我需要吗?我在哪里可以找到 geoslib?以及如何让 Basemap 工作?
python - 参考 Basemap 实例的坐标系
我使用 matplotlib 底图工具包 ( mpl_basemap.Basemap
) 在地图背景上使用pcolor()
或绘制 GeoTIFF 图像pcolormesh()
。为此,我需要将栅格数据的 x 和 y 坐标的网格网格转换为绘图的坐标系,例如极地立体图。目前,这就是我完成此任务的方式:
- 创建一个
osr.SpatialReference()
对象并使用它通过其ImportFromWkt()
方法获取 GeoTiff 图像的坐标,该方法以 GeoTIFF 的投影作为参数调用。 - 将此空间参考导出到 proj4 via
.ExportToProj4()
并使用它来创建pyproj.Proj()
对象。 inverse=True
在 GeoTIFF 图像的东向和北向值的网格网格上调用此类实例以创建纬度/经度网格网格- 在这个 lat/long meshgrid 上调用 Basemap 类实例以在 Basemap 对象的坐标系中创建一个 meshgrid
有没有更简单的方法不通过纬度/经度表示?如果我可以获得对 Basemap 实例坐标系的引用,我可以直接在 GeoTIFF 数据集和地图之间建立坐标变换。
python - 多边形内的等高线不规则数据
我需要在多边形内创建海面温度 (SST) 数据的填充等高线图,但是我不确定执行此操作的最佳方法。我有三个一维数组,其中包含 X、Y 和 SST 的数据,我使用以下内容进行绘制以创建附加图:
我希望能够将这些数据绘制为填充轮廓(contourf而不是 scatter),这些轮廓被约束(裁剪)在多边形边界(紫色线)内。非常感谢有关如何实现这一目标的建议。
更新:
我最初尝试过 griddata,但无法使其正常工作。但是,根据@eatHam 提供的答案,我决定再试一次。我无法让我的 scipy griddata 工作,因为它在选择方法“cubic”时一直挂在网格上,但是当我切换到 matplotlib.mlab.griddata 并使用“linear”插值时它起作用了。掩盖边界的建议提供了一个非常粗略且不像我希望的那样精确的解决方案。
我搜索了有关如何在 matplotlib 中剪切轮廓的选项,并在此链接上找到了 @pelson 的答案。我尝试了暗示的建议解决方案:“轮廓集本身没有 set_clip_path 方法,但您可以遍历每个轮廓集合并设置它们各自的剪辑路径”。我的新解决方案和最终解决方案如下所示(见下图):
在推断北方的极端边缘方面,该解决方案也可以得到特别改进。对于如何真正“填充”整个多边形的建议表示赞赏。我也想了解为什么 mlab 有效而 scipy 无效。
python - 如何使用 matplotlib-basemap 正确投影 tif 图像
我尝试使用 gdal 和 matplotlib-basemap 显示光栅图像。
我在这里解释了我使用 basemap.interp 函数的尝试,有关我的过程的完整结构化概述,请查看我的IPython Notebook。首先我的代码加载和投影光栅。
这将绘制以下内容:
特别清楚的是,在北美和南美的东海岸,栅格数据和海岸线存在偏移。
我不知道如何调整我的代码,以便我的数据将在正确的投影中转换。
对于它的价值:我使用的光栅 tif 文件(如果你下载它在 'a' 和 'no' 之间放置一个 '-',在 'ano_DOY..' 之前,在 'a-no_DOY..' 之后)
python - 使用 matplotlib-basemap 将一个多边形添加到绘图中
我有以下代码:
在这张地图的顶部,我想显示一个仅包含一个多边形的 shapefile。多边形定义了一个封闭区域。我找到了有关如何手动添加多边形或从 shapefile 绘制多个多边形的不同教程,但我无法针对我的情况执行此操作。shapefile 属性表仅由两个字段组成:“ c ”和“ area ”。
现在我已经到了这个