2024-03-28 23:20:39 发布
网友
我一直在寻找一种方法,可以选择哪些系列是可见的一个绘图后,绘图是创建。
我需要这个,因为我经常有许多系列的情节。它们太多,无法同时绘制,我需要快速和交互式地选择哪些序列可见。理想情况下,在绘图和复选框中将有一个带有序列列表的窗口,其中带有选中复选框的序列可见。
有人知道这是否已经在某个地方实施了吗?,如果没有,那么有人能指导我自己怎么做吗?
谢谢!
奥马尔
如果有几个或更少的绘图,带复选框的列表就可以了,但是对于更多的绘图,弹出菜单可能更好。不过,我不确定matplotlib是否可以实现这两种功能。
我实现这一点的方法是使用一个滑动条从列表中选择绘图-基本上是使用滑动条设置应该显示的序列的索引。我每个数据集有几百个系列,所以这是一个快速浏览它们的好方法。
我的设置代码大致如下:
fig = pyplot.figure() slax = self.fig.add_axes((0.1,0.05,0.35,0.05)) sl = matplotlib.widgets.Slider(slax, "Trace #", 0, len(plotlist), valinit=0.0) def update_trace(): ax.clear() tracenum = int(np.floor(sl.val)) ax.plot(plotlist[tracenum]) fig.canvas.draw() sl.on_changed(update_trace) ax = self.fig.add_axes((0.6, 0.2, 0.35, 0.7)) fig.add_subplot(axes=self.traceax) update_trace()
下面是一个例子:
既然plot.ly已经打开了它们的库的源代码,那么对于python中的交互式绘图来说,这是一个非常好的选择。请参见示例:https://plot.ly/python/legend/#legend-names。您可以单击图例跟踪并选择/取消选择跟踪。
如果要嵌入Ipython/Jupyter笔记本,这也很简单:https://plot.ly/ipython-notebooks/gallery/
这完全取决于你愿意做多少努力以及具体的需求是什么,但你可以打赌它已经在某个地方实现了:-)
如果目的主要是不使图像变得杂乱无章,那么使用内置功能就足够了;您可以在matplotlib示例库中找到相关代码:
如果您真的想要一个UI,那么您可以通过限制绘图/数据的数量来保护性能,您通常会使用一个GUI工具箱,比如GTK、QT或WX。在这里查找一些文章和示例代码:
如果有几个或更少的绘图,带复选框的列表就可以了,但是对于更多的绘图,弹出菜单可能更好。不过,我不确定matplotlib是否可以实现这两种功能。
我实现这一点的方法是使用一个滑动条从列表中选择绘图-基本上是使用滑动条设置应该显示的序列的索引。我每个数据集有几百个系列,所以这是一个快速浏览它们的好方法。
我的设置代码大致如下:
下面是一个例子:
既然plot.ly已经打开了它们的库的源代码,那么对于python中的交互式绘图来说,这是一个非常好的选择。请参见示例:https://plot.ly/python/legend/#legend-names。您可以单击图例跟踪并选择/取消选择跟踪。
如果要嵌入Ipython/Jupyter笔记本,这也很简单:https://plot.ly/ipython-notebooks/gallery/
这完全取决于你愿意做多少努力以及具体的需求是什么,但你可以打赌它已经在某个地方实现了:-)
如果目的主要是不使图像变得杂乱无章,那么使用内置功能就足够了;您可以在matplotlib示例库中找到相关代码:
如果您真的想要一个UI,那么您可以通过限制绘图/数据的数量来保护性能,您通常会使用一个GUI工具箱,比如GTK、QT或WX。在这里查找一些文章和示例代码:
相关问题 更多 >
编程相关推荐