我想在 Python (2.7) Tkinter GUI 应用程序(在 Windows 7 PC 上)中嵌入 Cartopy 模块映射,但我需要帮助弄清楚如何。
据我了解,Cartopy 模块只是使 matplotlib 能够将其“绘图”或绘图视为坐标,并将这些投影到现实世界的地理投影中。现在我已经看到了有关如何将 matplotlib 嵌入 Tkinter 的问题和指南,但这些总是涉及创建一个 matplotlib Figure(),然后在该图上使用 show() 方法和 FigureCanvasTkAgg(),而创建 cartopy 地图的说明通常是简单地使用 pyplot 的 axes() 方法,同时提供 cartopy 投影对象,然后将 show() 与 pyplot 模块(而不是 Figure 对象)一起使用。我尝试了一些不同的方法,但我无法理解如何协调这两种方法(创建一个 cartopy matplotlib 并将 matplotlib 嵌入 Tkinter)。我有制图、Python 和 Tkinter 方面的经验,
如果有人可以提出一个具体的代码示例以及他们的答案,那将是最有帮助的。也很高兴看到我如何在新的嵌入式 cartopy 地图中绘制线或点的示例,例如我在哪个对象上使用 .plot() 方法?
从长远来看,希望能够通过 Tkinter GUI 应用程序与 cartopy 地图进行交互。顺便说一句,以前有没有人做过这样的 cartopy Tkinter 嵌入?
---> 回答:感谢@Pelson 的回答,并提供代码示例。对于其他有同样问题的人,据我所知,关键步骤是 1)创建一个 matplot 图,2)通过包含投影参数向图中添加轴(从而使其成为 Cartopy 轴),以及 3)转换图通过在 Tkinter 小部件上使用 FigureCanvasTkAgg 函数,然后使用其 show() 和 get_tk_widget() 方法将小部件打包或放置在 Tkinter 窗口中。