基本上,我正在从事数据处理。我创建了我的课程,以便读取某些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中运行它时。
在导入脚本后在python shell中运行它。
编辑:
我们在spyder的Ipython控制台中可以看到。如果要查看第一个或最后一个图形(blabla1或blabla 5),可以向上或向下移动。 We can see cursor on the right
但是当我从Python shell导入脚本时,看不到所有图形。例如,看起来blabla1和blabla5。我想知道是否存在一种使用游标创建图形(窗口?)的方法。目前,我只能看到5个图表中的3个,而在这种情况下,它只是一个很小的数目(liste_data中有6列)。
答案 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)