Как создать курсор для фигуры / окна matplotlib с оболочкой python? - PullRequest
0 голосов
/ 26 июня 2019

В основном я работаю над обработкой данных.Я создал свой класс, чтобы читать некоторые csv файлы и манипулировать ими.Моя цель состоит в том, чтобы создать метод, который нацелен на отображение его параметров во времени на одном и том же рисунке в одном столбце.Я создал скрипт для этого, и мне нужно импортировать его в оболочку Python (для моей работы) и вызвать функцию.

Но проблема в том, что я не могу найти хороший способ сделать это.В настоящее время я не могу видеть всю графику.В этой ситуации liste_data имеет всего 6 столбцов, в реальной ситуации число столбцов может быть больше 6. Функция должна быть удобной и удобной для использования почти со 100 параметрами, а ось должна быть читаемой.

Iв настоящее время ищу код, который может создать один курсор на рисунке (в окне) для доступа ко всем графикам.

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 после импорта моего скрипта.

РЕДАКТИРОВАТЬ:

Как мы видим в консоли Ipython в spyder.Я могу пойти вверх или вниз, если я хочу посмотреть первый или последний график (blabla1 или blabla 5). Мы видим курсор справа

Но когда я импортирую скрипт из оболочки Python, я не вижу все графики.Например, ищем blabla1 и blabla5.И мне интересно, есть ли один способ создать фигуру (окно?) С курсором, чтобы сделать это.В настоящее время я вижу только 3 из 5 графиков, тогда как в этой ситуации это всего лишь небольшое число (6 столбцов в liste_data).

1 Ответ

0 голосов
/ 26 июня 2019

Если честно, я не на 100% уверен в том, что именно вы задаете. Но если вы хотите добавить курсор к своему графику, как предлагает исходный вопрос, обратитесь к документации по matplotlib: https://matplotlib.org/3.1.0/gallery/widgets/cursor.html

используя вашу запись ...

from matplotlib.widgets import Cursor
cursor = Cursor(axis, useblit=True, color='red', linewidth=2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...