Можно ли создать несколько графиков из значений в списке в классе в python? - PullRequest
0 голосов
/ 04 мая 2020

Я новичок в программировании с Python. Я создал класс, содержащий метод с именем «output», который возвращает состояние нескольких элементов в списке и фигуру (см. ситуация x ). См. Ниже.

import matplotlib.pyplot as plt

#Class (X)
def output(self): 

    for i in self.items:
        print(item.condition) #results below:          
        plt.plot (item.condition) #creates plot

    plt.xticks(np.arange(0, years_ahead, 5), planning_horizon[::5], rotation = 90)
    plt.xlabel('Planning horizon [years]', labelpad = 10, fontsize='large', fontweight='bold')
    plt.ylabel('Condition [%]', labelpad = 10, fontsize='large', fontweight='bold')
    plt.legend(loc=4)
    plt.title("test ") 
    plt.show()    

x = X() #class 
x.output()

y = Y() #inherited from X
y.output()

z = Z() #inherited from X
z.output()

#output of for-loop:
[20, 14, 100, 98, 96, 93, 92, 90, 87, 85, 84, 82, 80, 79, 76, 75, 72, 70, 67, 64, 63, 62, 60, 59, 58, 56, 54, 51, 48, 44, 37, 34, 29, 21, 18, 100, 98, 95, 93, 91, 90, 87, 84, 82, 80, 77, 75, 74, 73, 70, 68, 67]
[90, 87, 86, 83, 82, 79, 78, 77, 76, 73, 72, 71, 69, 68, 66, 63, 61, 58, 57, 54, 52, 51, 48, 39, 32, 24, 18, 12, 100, 99, 96, 95, 93, 90, 88, 87, 86, 83, 82, 79, 78, 75, 72, 71, 69, 66, 65, 64, 61, 60, 59, 58]
[60, 57, 56, 54, 53, 52, 51, 49, 40, 33, 28, 20, 11, 100, 98, 96, 95, 93, 91, 88, 87, 84, 82, 80, 78, 76, 75, 72, 71, 70, 69, 67, 64, 63, 61, 59, 58, 55, 52, 51, 48, 44, 41, 35, 30, 25, 19, 16, 100, 98, 96, 93]
[50, 41, 32, 25, 20, 17, 100, 99, 97, 95, 93, 90, 87, 86, 84, 83, 81, 78, 76, 74, 73, 72, 69, 68, 67, 64, 62, 59, 57, 55, 54, 52, 51, 49, 42, 39, 33, 29, 24, 21, 13, 100, 99, 98, 97, 95, 92, 91, 88, 86, 84, 81]
[55, 53, 50, 43, 36, 29, 24, 15, 100, 97, 94, 91, 88, 86, 85, 82, 81, 80, 78, 76, 75, 74, 71, 69, 68, 65, 63, 62, 60, 59, 57, 54, 51, 49, 43, 35, 27, 20, 17, 100, 98, 95, 94, 92, 90, 87, 86, 83, 81, 78, 76, 74]

У меня есть три вопроса относительно этого кода.

  1. Как создать легенду для каждого элемента i (строка на рисунке) в элементах? Без жесткого кодирования имен / индексов линий, потому что я планирую добавить больше элементов в модель.

  2. Как указано в коде, я хочу использовать этот метод «вывода» в три разные ситуации (x, y и z). Как я могу установить заголовок для каждой ситуации без изменения макета, как сейчас? Потому что на данный момент все фигуры имеют одинаковое название ( ситуация y и ситуация z )

  3. Можно ли сделать комбинированную фигуру эти три отдельные цифры в классе?

Спасибо!

...