import matplotlib.pyplot as plt


def draw(x, y1, y2):
    # Задаем исходные данные для каждой линии диаграммы, внешний вид линий и маркеров.
    # Функция plot() возвращает кортеж ссылок на объекты класса matplotlib.lines.Line2D

    line_1, line_2 = plt.plot(x, y1, 'bD:', x, y2, 'r^:')

    # Задаем интервалы значений по осям X и Y

    plt.axis([0.0, (max(x) + max(x) % 5), (min(min(y1), min(y2)) - 5), 100.0])

    # Задаем заголовок диаграммы

    plt.title(u'Зависимость точности нейронной сети от числа эпох')

    # Задаем подписи к осям X и Y

    plt.xlabel(u'Количество эпох')
    plt.ylabel(u'Точность, %')

    # Задаем исходные данные для легенды и ее размещение

    plt.legend((line_1, line_2),
               (u'Сверточная сеть', u'Рекурентная сеть'), loc='best')

    # Включаем сетку

    plt.grid()

    # Сохраняем построенную диаграмму в файл

    # Задаем имя файла и его тип

    plt.savefig('nets.png', format='png')
    drawNN(x, y2)
    drawConvNN(x, y1)


def drawNN(x, y):
    plt.clf()
    # Задаем исходные данные для каждой линии диаграммы, внешний вид линий и маркеров.
    # Функция plot() возвращает кортеж ссылок на объекты класса matplotlib.lines.Line2D

    line_1 = plt.plot(x, y, 'bD:')

    # Задаем интервалы значений по осям X и Y

    plt.axis([0.0, (max(x) + max(x) % 5), (min(y) - 5), 100.0])

    # Задаем заголовок диаграммы

    plt.title(u'Зависимость точности рекурентной нейронной сети от числа эпох')

    # Задаем подписи к осям X и Y

    plt.xlabel(u'Количество эпох')
    plt.ylabel(u'Точность, %')

    # Задаем исходные данные для легенды и ее размещение

    plt.legend((line_1),
               (u'Рекурентная сеть'), loc='upper right')


    # Сохраняем построенную диаграмму в файл

    # Задаем имя файла и его тип

    plt.savefig('nn.png', format='png')


def drawConvNN(x, y):
    # Задаем исходные данные для каждой линии диаграммы, внешний вид линий и маркеров.
    # Функция plot() возвращает кортеж ссылок на объекты класса matplotlib.lines.Line2D

    plt.clf()
    line_1 = plt.plot(x, y, 'r^:')

    # Задаем интервалы значений по осям X и Y

    plt.axis([0.0, (max(x) + max(x) % 5), (min(y) - 5), 100.0])

    # Задаем заголовок диаграммы

    plt.title(u'Зависимость точности свёрточной нейронной сети от числа эпох')

    # Задаем подписи к осям X и Y

    plt.xlabel(u'Количество эпох')
    plt.ylabel(u'Точность, %')

    # Задаем исходные данные для легенды и ее размещение

    plt.legend(line_1,
               u'Сверточная сеть', loc='upper right')

    # Сохраняем построенную диаграмму в файл

    # Задаем имя файла и его тип

    plt.savefig('convNN.png', format='png')
