Определение функции для создания автоматических графиков с использованием matplotlib - PullRequest
1 голос
/ 17 апреля 2020

Я новичок в python, и мне нужно сделать класс из разных функций. Каждая функция должна создавать различные типы графиков с предопределенным цветом, размером и т. Д. c. Пользователь должен только вызвать функцию и ввести два значения (x = df или lst, y = df или lst и z заголовок графика), а затем получить график в формате, который я уже предопределил в коде.

Вот мой код:

    class Plotter:
    def plot_signal(x,y):
        plt.figure(figsize=(20, 5) )
        plt.plot(x,
                 y,
                 color=(142/255.0,186/255.0,229/255.0), alpha=0.1 , linewidth=0.5 );
        plt.xlim(left=0)
        plt.xlabel('Time [s]', fontsize=11,  fontname='Arial')
        plt.ylabel('Force [kN]', fontsize=11, fontname='Arial')
        plt.xticks(fontsize=8)
        plt.yticks(fontsize=8)
        plt.savefig(r"filepath\\filename.jpg")
        plt.show()
        plt.title(z)
        return plt.show()

z = "trial"
x = np.random.rand(100)*10
y = np.random.rand(100)

plot_signal (x, y)

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

введите описание изображения здесь

1 Ответ

1 голос
/ 17 апреля 2020
def plot_signal(x, y, z):
    plt.figure(figsize=(20, 5))
    plt.plot(x, y, color=(142/255.0,186/255.0,229/255.0))
    plt.xlabel('Time [s]', fontsize=11,  fontname='Arial')
    plt.ylabel('Force [kN]', fontsize=11, fontname='Arial')
    plt.xticks(fontsize=8)
    plt.title(z)
    plt.yticks(fontsize=8)
    plt.show()

Вы можете изменить цвет, просто используя цветовую строку, список цветовой строки можно увидеть здесь

пример

plt.plot(x, y, color='red')

на основе в вашем коде вы используете alpha=0.1, что означает, что цвет будет прозрачным, если он близок к 0.

plt.savefig(r"filepath\\filename.jpg")

эта строка сохранит ваш файл, вы можете удалить его

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