Визуализация данных

In [1]:
#это нужно при использованиии jupyter notebook.
%matplotlib inline 
In [2]:
#это нужно
import matplotlib.pyplot as plt
In [3]:
def find_2max(a):
    i_max1 = -1
    i_max2 = -1
    for i in range(len(a)):
        if a[i] > a[i_max1] or i_max1 == -1:
            i_max2, i_max1 = i_max1, i
        elif a[i] > a[i_max2] or i_max2 == -1:
            i_max2 = i
    return i_max1, i_max2

Mожно просто передать массив, тогда по оси абсцисс будут числа от 0 до len(a) - 1, по оси ординат - значения.

In [4]:
a = [1, 3, 2, 5, 2]
plt.plot(a)
plt.show()

Можно передавать два массива: значения по оси абсцисс, значения по оси ординат. Так же можно задавать внешний вид отрисованных данных: это могут быть просто точки, либо точки соединённые линиями. Цвет, размер, ширину линий можно регулировать.

In [5]:
i1, i2 = find_2max(a)
plt.plot(a)
plt.plot([i1, i2], [a[i1], a[i2]], 'o', markersize=6)
plt.show()
In [6]:
i1, i2 = find_2max(a)
plt.plot(a)
plt.plot([i1, i2], [a[i1], a[i2]], 'o--', markersize=6)
plt.show()

Больше примеров и подробности установки.

https://matplotlib.org/gallery/index.html

Домашнее задание (по желанию, но можно получить много дополнительных баллов):

Необходимо выбрать одну из решённых задач на занятиях задачу. Придумать как, и изобразить несколько наглядных тестов к этой задаче и полученные решения.

При желании, для удобства визуализации, можно установить Jupiter Notebook. http://jupyter.org/install