Создание экземпляра объекта в цикле for и построение атрибутов на графике или подплоте matplotlib - PullRequest
0 голосов
/ 30 сентября 2019

Данные, которые у меня есть, представляют собой список фреймов данных с такими же столбцами, которые были предоставлены из интересующих файлов, введенных пользователем. Столбцы данных и пользовательские входные данные передаются в параметры __init__ для создания экземпляра. Некоторые атрибуты экземпляров являются списками, которые я хотел бы построить, когда они создаются в цикле.

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats


class Sample():
    def __init__(self,initname,initlistA,initlistB,...):
    self.name = initname
    self.nums_a = initlistA

    '''There are more but are unnecessary to show'''

    def func(self,listA,scalar_A = 30 ,scalar_B = 10) :   
    x = stats.binned_statistic(self.nums,self.nums,statistic = 'count', bins = scalar_A, range[0,scalar_B]):
    self.right_bins = x[1][1:]
    self.y_values = x[0]

fig,axs = plt.subplots()


axs.set_xlabel('str')
axs.set_ylabel('str_2')
#axs.set_ylim(bottom = 0)
#axs.set_xlim(left = 0)

lst_of_dfs = []
files = []
while True:
    fname = input('file.xlsx')

    if fname =='Done' :break
    else:
        file=pd.read_excel(fname)
        lst_of_dfs.append(file)
    files.append(fname)


for x in range(0,len(lst_of_dfs)):
    name = files[x]
    df = lst_of_dfs[x]

    sample = Sample(input('name for {}'.format(name),df['initlistA'],....)
    sample.fun()



    axs.plot(self.right_bins,self.y_values,marker = 'x', label = self.name)

    print(self.y_values)
    print(self.right_bins)

axs.set_ylim(bottom = 0)
axs.set_xlim(left = 0)

plt.show()

self.right_bins и self.y_values ​​возвращают списки равной длины в моей программе. Я просто не могу нанести эти списки на график или подзаговор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...