如何使用python shell为matplotlib的图形/窗口创建光标?

时间:2019-06-25 21:42:12

标签: python python-3.x shell matplotlib

基本上,我正在从事数据处理。我创建了我的课程,以便读取某些csv文件并进行操作。我的目标是创建一种方法,旨在针对同一列中的所有图针对时间绘制其参数。我已经为此创建了一个脚本,并且必须将其导入python shell(用于我的工作)并调用该函数。

但是问题是我找不到一种好的方法。目前,我看不到所有图形。在这种情况下liste_data只有6列,在实际情况下,列数可能大于6。该功能必须方便且可用于近100个参数,并且轴必须可读。

我目前正在寻找可以在图形上(窗口上)创建单个光标以访问所有图形的代码。

class LxAy

    #- liste_data->np.array[line,column] 
    #each column represente one type of data
    # the first column is time


def time_graph(self): 

      #it is not interesting to plot time against time. 
      #if len(liste_data[0,:]==x so we have x-1 graphs

        nb_graphs=len(self.liste_data[0,:])-1
        plt.subplots(nb_graphs,1))
        fig,stockage=plt.subplots(nb_graphs,1)
        plt.gcf().subplots_adjust(left= 0.1, bottom = 0.1, right = 0.9 , top = 2, wspace=0, hspace = 0.7) # this is not final parameters
        i=1
        for axis in stockage[1:]:
            axis.plot(self.liste_data[:,0],self.liste_data[:,i])
            axis.set_title("blabla :"+str (i))
            i+=1
        plt.show()

编辑:

我们在spyder的Ipython控制台中可以看到。如果要查看第一个或最后一个图形(blabla1或blabla 5),可以向上或向下移动。 We can see cursor on the right

但是当我从Python shell导入脚本时,看不到所有图形。例如,看起来blabla1和blabla5。我想知道是否存在一种使用游标创建图形(窗口?)的方法。目前,我只能看到5个图表中的3个,而在这种情况下,它只是一个很小的数目(liste_data中有6列)。

1 个答案:

答案 0 :(得分:0)

说实话,我不清楚您的实际问题是什么。.但是如果您想按照原始问题的建议将光标添加到绘图中,请参考matplotlib文档:https://matplotlib.org/3.1.0/gallery/widgets/cursor.html < / p>

使用您的符号...

from matplotlib.widgets import Cursor
cursor = Cursor(axis, useblit=True, color='red', linewidth=2)