мета-данные страницы
Загрузка не удалась. Возможно, проблемы с правами доступа?
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
python:week14 [19/04/2017 03:51] – [Размещение нескольких графиков] ybezrukov | python:week14 [15/02/2018 12:44] (текущий) – [Задание 17] ybezrukov | ||
---|---|---|---|
Строка 4: | Строка 4: | ||
<code python> | <code python> | ||
+ | |||
+ | import matplotlib.pyplot as plt | ||
+ | import numpy as np | ||
+ | |||
x_axis = range(1, 20) | x_axis = range(1, 20) | ||
Строка 36: | Строка 40: | ||
====== Размещение нескольких графиков ====== | ====== Размещение нескольких графиков ====== | ||
- | В одном | + | На одном |
+ | |||
+ | Рассмотрим так же описание рисунка, | ||
Посмотрим на пример: | Посмотрим на пример: | ||
<code python> | <code python> | ||
+ | import matplotlib.pyplot as plt | ||
+ | import numpy as np | ||
+ | |||
+ | |||
def f(t): | def f(t): | ||
return np.exp(-t) * np.cos(2*np.pi*t) | return np.exp(-t) * np.cos(2*np.pi*t) | ||
Строка 47: | Строка 57: | ||
t2 = np.arange(0.0, | t2 = np.arange(0.0, | ||
- | plt.figure(1) # создаем область | + | fig = plt.figure(num=None, figsize=(8, 6), dpi=96, facecolor=' |
- | plt.subplot(2,1,1) # в сетке размером 2 ряда на 1 столбец в первую ячейку разместим один график | + | # 96 точек на дюйм. Цвет фона будет белый, а цвет контура - черный |
- | plt.plot(t2, f(t2)) # нарисуем гладкую линию | + | ax1 = fig.add_subplot(2, 1, 1) # добавим первый график и его " |
- | plt.subplot(2, 1, 1) # добавим еще один график | + | line1 = ax1.plot(t2, f(t2)) # нарисуем |
- | marker_line = plt.plot(t1, f(t1)) # и нарисуем линию меток | + | plt.setp(line1, color=' |
- | plt.setp(marker_line, | + | ax2 = fig.add_subplot(2, 1, 1) # добавим еще один график |
+ | marker_line = ax2.plot(t1, f(t1)) # и нарисуем линию меток | ||
+ | plt.setp(marker_line, | ||
+ | |||
+ | |||
+ | ax3 = fig.add_subplot(2, | ||
+ | line2 = ax3.plot(t2, | ||
+ | plt.setp(line2, | ||
- | plt.subplot(2, | ||
- | line2 = plt.plot(t2, | ||
- | plt.setp(line2, | ||
plt.show() | plt.show() | ||
+ | |||
</ | </ | ||
+ | ====== Подписи к графикам ====== | ||
+ | |||
+ | Чтобы разобраться с подписями к данным и получить некоторые математические знания, | ||
+ | |||
+ | <code python> | ||
+ | |||
+ | import matplotlib.pyplot as plt | ||
+ | import numpy as np | ||
+ | |||
+ | mu, sigma = 100, 15 # зададим значения среднего и разброса | ||
+ | x = mu + sigma * np.random.randn(10000) # новая функция для генерации случайных чисел: в качестве аргумента принимает требуемое количество случайных чисел, | ||
+ | # а возвращает список из вещесвенных значений случайных чисел. Обратите внимание, | ||
+ | # представляет собой случайное число, умноженное на sigma и сдвинутое на mu | ||
+ | |||
+ | fig = plt.figure(num=None, | ||
+ | |||
+ | ax1 = fig.add_subplot(1, | ||
+ | # the histogram of the data | ||
+ | ax1.hist(x, 50, normed=1, facecolor=' | ||
+ | |||
+ | |||
+ | ax1.set_xlabel(' | ||
+ | ax1.set_ylabel(' | ||
+ | ax1.set_title(' | ||
+ | ax1.text(60, | ||
+ | ax1.axis([40, | ||
+ | # а на оси Y от 0 до 0,03 | ||
+ | ax1.grid(True) # показывать ли координатную сетку | ||
+ | plt.show() | ||
+ | |||
+ | </ | ||
+ | |||
+ | ====== Задание 15 ====== | ||
+ | |||
+ | Нарисовать в окне на двух разных графиках 10 стран с наибольшим количеством регионов и наибольшим количеством городов. Оси графиков подписать. | ||
+ | |||
+ | ====== Задание 16 ====== | ||
+ | |||
+ | Пусть есть некоторая окружность радиуса $r$, которая катится горизонтально и без проскальзываний. Возьмем точку $M$, находящуюся на расстоянии $h$ от центра окружности. При движении окружности, | ||
+ | |||
+ | ====== Задание 17 ====== | ||
+ | |||
+ | Фигуры Лиссажу описываются двумя уравнениями. | ||
+ | |||
+ | $$\begin{array} [b]{l} | ||
+ | x(t)&=A \sin(at+d)\\ | ||
+ | y(t)&=B \sin(bt) | ||
+ | \end{array} | ||
+ | $$ | ||
+ | |||
+ | $x(t)$ и $y(t)$ представляют собой гармонические колебания в перпендикулярных плоскостях, | ||