matplotlib中的周期轴类是什么?

16

我有一组跨越经度=0线的纬度/经度点的集合。我想使用matplotlib Axes类将它们绘制出来,使得当向l=360望去时,l=1处的点绘制在等价于l=361的位置上,该类"包裹"了水平维度。理想情况下,我还希望有定义平移/缩放操作的内容,以便可以交互式地使用绘图。

我知道在matplotlib中可能会定义自定义投影,但是我没有找到实现所有功能的柱面投影的等效方法。我不想使用basemap。有人知道这样的东西是否存在吗?


我遇到了类似的问题([0,2\pi]数据),并通过预处理数据使其处于我想要的范围内来解决它,但是一个可以自动完成这个过程的轴类会很棒。 - tacaswell
你不想使用“basemap”是因为它不能满足你的需求,还是出于其他原因? - pelson
1
我正在寻找仅依赖于matplotlib核心,而不是像basemap这样的外部工具包的东西。 - ChrisB
这个功能将会非常有用! - Dan
使用极坐标是一个坏主意吗?你的坐标系一定要是笛卡尔坐标系吗? - Thorsten Kranz
1个回答

2
您可以通过修改mathplotlib示例代码来获得您想要的结果-api示例代码:custom_projection_example.py,您只需要决定是要球形表示还是圆柱形表示-如果选择后者,则可能会在custom_scale_example.py中找到更有用的代码。该示例还包括平移和缩放,但在示例中故意将数据限制在+-90度以内-您需要进行包装处理。

球面绘图 输入图像描述


通过指出另一个具有圆柱投影、包括平移和缩放的特定示例,解决了缺乏平移和缩放的问题。 - Steve Barnes
1
这些是不错的参考资料,但仍然不是我正在寻找的解决方案。就像你所说的那样,custom_scale_example中的代码手动将数据包装到-180->+180。问题是是否可以设置MPL投影,使得在视窗范围内(想象一下google.com/maps在最宽的缩放设置下)自动包装[0, 360]范围内的数据。 - ChrisB
2
@ChrisB 更正custom_scale明确限制数据在-85..+85度之间。答案是可以的 - 我必须实际上开始一些付费工作,但是__你__应该能够在合理的时间内(我估计需要2-3小时修改和测试)通过其他示例的帮助来适应其中一个示例。 - Steve Barnes
尽管没有完整的大奖,但这个赏金也值得。 - ojdo
谢谢 - 如果我有空的时候,我可能会回来看看。 - Steve Barnes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接