Решил построить несложный график. Думал, что будет сложно. Оказалось, что это не сложно составить график. Возможно у меня простое решение. Посмотрите на код. Для понимания я добавил описания действий в виде комментариев.
Для генерации графика используется модуль matplotlib. На вашем компьютере может не быть этой библиотеки. Используйте pip: pip install matplotlib. О том как пользоваться pip смотрите статью: Как загружать библиотеки с pip Python. Предлагаю вам поэкспериментировать с координатами для линий y1...y4. Если вы сгенерируете налету график при помощи функции plt.show(), то появится окно с различными кнопками. В окне есть небольшой блок меню. Вы сможете увеличить векторный график. Можете сжать его по вертикали и горизонтали. Также сможете сохранить его в разных форматах. Показать и сохранить график можно, но выполнение этих действий в одном скрипте приведёт к ошибке. Выберите одно из действий. Для простоты понимания я разукрасил линии в разные цвета и добавил одну черную линию.
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
# от -5 до 2 сделать 100 точек.Чем больше точек, тем точнее график.
x = np.linspace(-5, 2, 100)
# y1...y4 - линии одного графика, для каждой линии свой набор точек.
y1 = x**3 + 5*x**2 + 10
y2 = 3*x**2 + 10*x
y3 = 6*x + 10
y4 = 5*x**2 + 10
# будет 1 график, на нем 4 линии:
fig, ax = plt.subplots()
# функция y1(x), синий, надпись y(x)
ax.plot(x, y1, color="blue", label="голубая линия")
# функция y2(x), красный, надпись y'(x)
ax.plot(x, y2, color="red", label="красная линия")
# функция y3(x), зеленый, надпись y''(x)
ax.plot(x, y3, color="green", label="зелёная линия")
# функция y3(x), зеленый, надпись y''(x)
ax.plot(x, y4, color="black", label="черная линия")
# подпись у горизонтальной оси х
ax.set_xlabel("x")
# подпись у вертикальной оси y
ax.set_ylabel("y")
# показывать условные обозначения
ax.legend()
'''
Тут нужно сделать выбор в пользу одного действия. Либо вы показываете на окне
векторный график, либо записываете график в картинку png
'''
#показать рисунок
plt.show()
# сохранить в файл 1.png
#fig.savefig('1.png')
линейный график
Этот график напоминает по виду пирог. Пирог будет поделён на разные части. В списке sizes у меня 4 значения. Из-за этого пирог поделён на 4 части. Это круговая диаграмма.
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
'''
График пирог, блоки будут расположены против часовой стрелки:
labels - названия кусков пирога
'''
labels = 'jQuery', 'PHP', 'Firebird', 'BASH'
sizes = [36,36,11,2]
''
explode - это отступ (разрыв) от основных частей пирога.
если поставите одни нули, то все блоки будут прижаты друг к другу.
''
explode = (0.1, 0.1, 0, 0)
fig1, ax1 = plt.subplots()
'''
sizes - размеры кусков в процентах
explode - отступы
labels - названия кусков
autopct - ?
shadow - тень
startangle - начальный угол, изменяя его, вы поворачиваете все куски.
'''
ax1.pie(sizes, explode=explode, labels=labels, autopct='ų.1f%%',
shadow=True, startangle=90)
#Равное соотношение сторон гарантирует, что пирог нарисован как круг.
ax1.axis('equal')
# показать график
plt.show()
линейный график