MatPlotLib
Завантаження та установка http://matplotlib.org/
У сервісі https://replit.com/ також доступна бібліотека matplotlib
“Hello matplotlib”
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [2, 4, 6]
plt.plot(x, y)
plt.show()
Маркери
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [2, 4, 6]
plt.plot(x, y, marker='o')
plt.show()
Інші варіанти '*', 'x', '+'
Список температур
import matplotlib.pyplot as plt
nyc_temp = [53.9, 56.3, 56.4, 53.4, 54.5, 55.8, 56.8, 55.0, 55.3, 54.0, 56.7, 56.4, 57.3]
plt.plot(nyc_temp, marker='o')
plt.show()
Підписи шкали
import matplotlib.pyplot as plt
nyc_temp = [53.9, 56.3, 56.4, 53.4, 54.5, 55.8, 56.8, 55.0, 55.3, 54.0, 56.7, 56.4, 57.3]
years = range(2000, 2013)
plt.plot(years, nyc_temp, marker='o')
plt.show()
Різні графіки на одному полі
import matplotlib.pyplot as plt
nyc_temp_2000 = [31.3, 37.3, 47.2, 51.0, 63.5, 71.3, 72.3, 72.7, 66.0, 57.0, 45.3, 31.1]
nyc_temp_2006 = [40.9, 35.7, 43.1, 55.7, 63.1, 71.0, 77.9, 75.8, 66.6, 56.2, 51.9, 43.6]
nyc_temp_2012 = [37.3, 40.9, 50.9, 54.8, 65.1, 71.0, 78.8, 76.7, 68.8, 58.0, 43.9, 41.5]
months = range(1, 13)
plt.plot(months, nyc_temp_2000)
plt.plot(months, nyc_temp_2006)
plt.plot(months, nyc_temp_2012)
plt.show()
Легенда та підписи
import matplotlib.pyplot as plt
nyc_temp_2000 = [31.3, 37.3, 47.2, 51.0, 63.5, 71.3, 72.3, 72.7, 66.0, 57.0, 45.3, 31.1]
nyc_temp_2006 = [40.9, 35.7, 43.1, 55.7, 63.1, 71.0, 77.9, 75.8, 66.6, 56.2, 51.9, 43.6]
nyc_temp_2012 = [37.3, 40.9, 50.9, 54.8, 65.1, 71.0, 78.8, 76.7, 68.8, 58.0, 43.9, 41.5]
months = range(1, 13)
plt.plot(months, nyc_temp_2000)
plt.plot(months, nyc_temp_2006)
plt.plot(months, nyc_temp_2012)
plt.legend([2000, 2006, 2012])
plt.title('Average monthly temperature in NYC')
plt.xlabel('Month')
plt.ylabel('Temperature')
plt.axis(ymin=0)
plt.show()
Збереження файлу зображення
plt.savefig('mygraph.png')
Синусоїда
import matplotlib.pyplot as plt
import math
x=[]
y=[]
for tochka in range(100):
x.append((2 * math.pi * tochka) / 100)
for tochka in x:
y.append(math.sin(tochka))
plt.plot(x, y)
plt.show()
Завдання
Завдання. Побудувати графік параболи
Завдання. Побудувати графік кола
x = r cos t y = r sin t
Завдання. Побудувати графік "равлика Паскаля"
x = a cos 2 t + b cos t y = a cos t sin t + b sin t
a>0, b>0Завдання. Побудувати графік "епіциклоїда"
x = (a+b) cos t – a cos ((a+b) t / a) y = (a+b) sin t – a sin ((a+b) t / a)
Розглянути випадок коли b/a – ціле число.
Завдання. Побудувати графік
x=2cos(t) + cos(5t)
y=2sin(t) + sin(5t)
Завдання. Побудувати графік
Інші види графіків модуля MatPlotLib http://matplotlib.org/gallery/index.html
plot.scatter - точки
plot.bar - стовпці
plot.barh - рядки
plot.pie - круг
plot.hist - гістограма
Завдання. За даними УЦОЯО зобразіть результати успішності ЗНО випускників нашого ліцею.
Анімований графік
import matplotlib.pyplot as plt
import time
import random
plt.ion() # динамічний графік
y = [i for i in range(100)]
x = [i for i in range(len( y ))]
for i in range(5):
plt.clf() # очищення площі побудови
plt.bar(x,y)
plt.draw()
plt.pause(0.5) # пауза-затримка побудови
random.shuffle( y )
Завдання
Анімуйте процес сортування списку одним із методів: http://dystosvita.org.ua/mod/page/view.php?id=882
Анімуйте процес обчислення значення числа Пі методом Монте-Карло https://dystosvita.gnomio.com/mod/assign/view.php?id=4391