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