Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在wxpython中将光标添加到图形中?_Python_Matplotlib_Wxpython - Fatal编程技术网

如何在wxpython中将光标添加到图形中?

如何在wxpython中将光标添加到图形中?,python,matplotlib,wxpython,Python,Matplotlib,Wxpython,我正在使用wxpython和matplotlib开发一个软件,我使用了以下名为“FigureBasePanel”的类将这个图形面板添加到我的软件中。但是我不能将光标添加到这个图形中,我提到的光标是“matplotlib.widgets.cursor”中的一个类。是否有任何方法将光标添加到此面板中? 这是FigureBearSepanel类 # -*- coding:UTF-8 -*- import wx import numpy as np import matplotlib matplo

我正在使用wxpython和matplotlib开发一个软件,我使用了以下名为“FigureBasePanel”的类将这个图形面板添加到我的软件中。但是我不能将光标添加到这个图形中,我提到的光标是“matplotlib.widgets.cursor”中的一个类。是否有任何方法将光标添加到此面板中? 这是FigureBearSepanel类

# -*- coding:UTF-8 -*-
import wx

import numpy as np

import matplotlib

matplotlib.use("WXAgg")

from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg as FigureCanvas
from matplotlib.backends.backend_wxagg import NavigationToolbar2WxAgg as NavigationToolbar
from matplotlib.ticker import MultipleLocator, FuncFormatter

import pylab
from matplotlib import pyplot

class FigureBasePanel(wx.Panel):

    def __init__(self,parent):
        wx.Panel.__init__(self,parent=parent, id=-1)

        self.Figure = matplotlib.figure.Figure(figsize=(4.8,2.3))
        self.axes = self.Figure.add_axes([0.1,0.1,0.8,0.8])

        self.FigureCanvas = FigureCanvas(self,-1,self.Figure)

        self.NavigationToolbar = NavigationToolbar(self.FigureCanvas)
        #self.StaticText = wx.StaticText(self,-1,label='')
        self.SubBoxSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.SubBoxSizer.Add(self.NavigationToolbar,proportion =1, border = 1,flag = wx.ALL | wx.EXPAND|wx.CENTER  )
        #self.SubBoxSizer.Add(self.StaticText,proportion =-1, border = 2,flag = wx.ALL | wx.EXPAND )

        self.TopBoxSizer = wx.BoxSizer(wx.VERTICAL)
        self.TopBoxSizer.Add(self.SubBoxSizer,proportion =0, border = 0,flag = wx.ALL | wx.EXPAND)
        self.TopBoxSizer.Add(self.FigureCanvas,proportion =1, border = 0,flag = wx.ALL | wx.EXPAND)

        self.SetSizer(self.TopBoxSizer)

        self.pylab=pylab
        self.pl=pylab
        self.pyplot=pyplot
        self.numpy=np
        self.np=np


    def UpdatePlot(self):
        self.FigureCanvas.draw()


    def plot(self,*args,**kwargs):
        self.axes.plot(*args,**kwargs)
        self.UpdatePlot()


    def semilogx(self,*args,**kwargs):
        self.axes.semilogx(*args,**kwargs)
        self.UpdatePlot()

    def semilogy(self,*args,**kwargs):
        self.axes.semilogy(*args,**kwargs)
        self.UpdatePlot()

    def loglog(self,*args,**kwargs):
        self.axes.loglog(*args,**kwargs)
        self.UpdatePlot()


    def grid(self,flag=True):
        if flag:
            self.axes.grid()
        else:
            self.axes.grid(False)


    def title_MPL(self,TitleString="wxMatPlotLib Example In wxPython"):
        self.axes.set_title(TitleString)


    def xlabel(self,XabelString="X"):
        ''' # Add xlabel to the plotting    '''
        self.axes.set_xlabel(XabelString)


    def ylabel(self,YabelString="Y"):
        ''' # Add ylabel to the plotting '''
        self.axes.set_ylabel(YabelString)


    def xticker(self,major_ticker=1.0,minor_ticker=0.1):
        self.axes.xaxis.set_major_locator( MultipleLocator(major_ticker) )
        self.axes.xaxis.set_minor_locator( MultipleLocator(minor_ticker) )


    def yticker(self,major_ticker=1.0,minor_ticker=0.1):
        self.axes.yaxis.set_major_locator( MultipleLocator(major_ticker) )
        self.axes.yaxis.set_minor_locator( MultipleLocator(minor_ticker) )


    def legend(self,*args,**kwargs):
        self.axes.legend(*args,**kwargs)


    def xlim(self,x_min,x_max):
        self.axes.set_xlim(x_min,x_max)


    def ylim(self,y_min,y_max):
        self.axes.set_ylim(y_min,y_max)


    def savefig(self,*args,**kwargs):
        self.Figure.savefig(*args,**kwargs)


    def cla(self):
        self.axes.clear()
        self.Figure.set_canvas(self.FigureCanvas)
        self.UpdatePlot()

    def ShowHelpString(self,HelpString="Show Help String"):
        self.StaticText.SetLabel(HelpString)

为什么不能将matplotlib.widgets.Cursor添加到图形中?您得到的错误是什么?你能告诉我们你试过什么吗?谢谢,我已经解决了这个问题:-)