Отображение нескольких графиков с различным размахом данных на одной оси

weamagic

Пользователь
Пользователь
Июл 11, 2020
149
13
18
Win 7, Python 3.8

Пытаюсь отобразить данные, получаемые с ряда приборов, на одном графике. Однако, столкнулся с тем, что значения параметров различаются очень сильно, из-за чего ряд кривых превращается в прямые. Собственно, кусок кода, где я всё это делаю:
Python:
    def form_well_correl(self):
        #Узнается число активных приборов
        w = self.form_lst_dt(self.lst_work_well)
        nm = len(w)
        #Формируется список интересующих параметров
        l = self.form_lst_dt(self.lst_las_name)
        #Очищается фигура, на случай если там уже были графики
        self.fig_wc.clear()
        #Создается по одному графику на прибор
        ax = self.fig_wc.subplots(nrows=1, ncols=nm)
        #Меняется размер фигуры, так, чтобы графики не были узкими
        self.can_wc.resize(nm * 150, 600)
        #Запрос поступивших данных
        global wells #кадр данных с приборов
        global color_las #словарь цветов для линий
        #Рисовка собственно самих графиков
        for i, j in enumerate(w):
            wl = wells[j]
            d = wl.iloc[:, 0]
            for k in l:
                ls = wl[k]
                if k in color_las.keys():
                    ax[i].plot(ls, d, color=color_las[k])
                    ax[i].invert_yaxis()
                else:
                    ax[i].plot(ls, d)
                    ax[i].invert_yaxis()
        #Отображение результата
        self.can_wc.draw()
Вопросы:
1. Как можно привести графики в читаемый вид?
2. Как можно левое и правое поля сделать независимыми от количества областей построения?
Пример входных данных прикрепляю. Как и пример результатов, показанный ниже.

1666953369616.png
 

Вложения

  • пример данных.txt
    1,9 КБ · Просмотры: 1
  • Снимок.PNG
    Снимок.PNG
    11,3 КБ · Просмотры: 3

weamagic

Пользователь
Пользователь
Июл 11, 2020
149
13
18
Актуально.
 

Форум IT Специалистов