我使用matplotlib成功地绘制了一组按日期顺序排列的数据(X轴是日期)。但是,我希望能够在绘制的图形上手动绘制从一个(date1,y1)到另一个(date2,y2)的直线。
我似乎找不到任何例子来说明如何做到这一点——或者说,如果这甚至是可行的话。
总而言之,这就是我想做的:在绘制的图形上绘制一组线
将手动绘制的线数据保存到文件
从文件中加载手动绘制的线条数据(以重新创建图形)
理想情况下,我希望存储有关绘制线的“元数据”(例如颜色、线宽等)
有人可以发布一个框架片段(最好是链接到进一步的信息)来展示我如何开始实现这个(主要的要求是能够在图形上手动绘制线,然后将线保存/加载到绘图中)。
注意:通过“手动”,我的意思是可以通过单击一个点,然后单击绘制的图形中的另一个点来绘制线。在两个点之间画一条线(或只需单击一个点并在绘制的图形上的另一个点上拖动和释放鼠标)
[[更新]]
道,非常感谢你提供的片段。这允许我做我想做的事情-但是,一旦在画布上画出一条线(在第二次单击鼠标之后),GUI就会崩溃,我在控制台上收到以下警告消息:/usr/local/lib/python2.6/dist-packages/matplotlib/backend_bases.py:2192: DeprecationWarning: Using default event loop until function specific to this GUI is implemented
warnings.warn(str,DeprecationWarning)
你知道是什么导致了这个警告和程序的突然终止吗?
另外,是否可以在图上画多条线?(我猜这需要编写某种事件处理程序来实例化一个linedrawer变量)。目前,我只能在“应用程序”突然终止前画一条线。