Урок 5.1. Все идет по графику
В данном уроке вам необходимо создать график рассеяния на основе данных из Урока 4 (Практикум), в ходе которого вы модулировали ситуацию бросания игровых костей. В этом вам поможет модуль ti_plotlib.
Вы научитесь:
- Использовать модуль ti_plotlib
- Создавать график рассеяния
- Регулировать параметры окна
В Уроке номер 4 вы на практике моделировали ситуацию бросания двух игральных костей, после чего загружали результаты в список. Сейчас вы продолжите работать с этой же программой и сами убедитесь в том, как на основе полученных данных можно легко построить график рассеяния с помощью языка программирования Python.
Примечание для учителя: Модуль ti_plotlib основан на часто используемой библиотеке matplotlib в языке Python. В ней содержится большое количество инструментов для графической визуализации данных. Модуль ti_plotlib предоставляет доступ к некоторым функциям pyplot из библиотеки matplotlib.
Очень удобным в использовании является следующей пункт из библиотеки matplotlib:
import matplotlib.pyplot as plt
Но его применение предполагает наличие префикса plt. для любой функции построения графика. Таким образом, человек, читающий программу, понимает, что она добавлена из библиотеки. Так происходит работа с функцией matplotlib.pyplot. В меню TI-Nspire существует похожее выражение: import ti_plotlib as plt.
Во время создания нового документа на калькуляторах TI-Nspire через меню Add Python > New > 'Type' при выборе типа документа доступен шаблон Plotting (Построение графика). В нем уже предварительно загружено это выражение. В начале названия всех функций модуля ti_plotlib будет использован префикс plt., если их выбирать из меню (даже если в меню его не видно). Также в большинстве функций доступны строковые подсказки или списки выбора.
1. Чтобы не начинать программу с нуля, загрузите проект, в котором вы моделировали бросание игровых костей из Практикума Урока номер 4. Необходимая часть кода показана на рисунке. Возможно, после выражения print(totals) ваша программа продолжается дальше, но для данного проекта эта часть кода будет лишней.
Вы можете сделать копию этой программы в документе, используя следующие пункты меню:
menu > Actions > Create Copy...
Если пункт Create Copy... (Создать копию) недоступен, вернитесь в редактор (Editor) программы и нажмите ctrl+B, чтобы сохранить ее. Перед названием файла вверху страницы не должно быть звездочки (*) (как показано на рисунке).
2. Чтобы получить графическое изображение данных, созданных программой, вам нужно загрузить еще один модуль TI. Вверху вашей программы под строкой from random... добавьте следующее выражение вставки:
import ti_plotlib as plt
Вы также можете найти это выражение в меню: menu > TI Plotlib.
3. Переместитесь вниз программы (строкой ниже выражения print(totals)).
Для построения графика рассеяния вам понадобятся два списка -xlist и ylist. Значение totals будет списком ylist. Для списка xlist вы будете использовать 11 возможных сумм цифр, выпадающих на игральных костях:
sums = [2,3,4,5,6,7,8,9,10,11,12]
(Существуют и более продвинутые способы создания списков, но так будет гораздо проще и быстрее.)
Примечание для учителя: Еще один способ использовать генератор списков - это выражение: sums = [i for i in range(2,13)]
4. Теперь можно приступать к настройке дисплея и построению графика рассеяния (с суммами и результатами).
Для настройки дисплея вам понадобятся функции, которые находятся в следующем пункте меню: menu > TI Plotlib > Setup:
- plt.window( )
Настройки параметров окна зависят от рабочих данных. Используйте значения -5,15 для оси х и значения -10,1000 для оси у (так как бросков игральных костей будет много). - plt.axes( )
При выборе этой функции сразу всплывает выбор режима mode. Выберите "on".
5. Чтобы построить сам график рассеяния, нужно выбрать следующее выражение из меню:
menu > TI-Plotlib > Draw:
scatter(xlist,ylist,"mark")
(plt. - вы увидите этот префикс в начале функции)
- Для xlist введите sums.
- Для ylist введите totals.
- Для mark выберите нужный символ из четырех доступных: o, +, x и . (period/точка).
Как только вы выберите нужный вам символ для построения графика, поменять его уже будет сложно. Всего доступны 4 символа: o, +, x и . (period/точка). Если все же вы хотите его поменять, вручную введите нужный символ вместо того, который вы изначально выбрали. Использование других символов невозможно. Чтобы снова посмотреть список, вы должны заново вставить соответствующую функцию из меню.
6. Готово? Запустите программу, при этом количество бросков сделайте равным 1000. Ваш график похож на тот, что показан на рисунке?
Нажмите любую кнопку, чтобы закрыть график.
Теперь запустите программу, в которой будет 6000 бросков игральных костей.
Можете прокомментировать свой рисунок?
Окно отображения графика можно подстраивать в зависимости от количества бросков. В функции параметров окна измените ymax на 1.1*max(totals).
Обратите внимание на то, что для построения графика вам понадобилось добавить всего четыре новых выражения в уже существующую программу!
Не забудьте сохранить свою работу!
Примечание для учителя: При использовании выражений из модуля ti_plotlib учитывайте порядок их ввода, потому что каждая составляющая (оси, сетка координат, окно и т.д.) влияет на параметры окна, где будет нарисован график. Например, сначала вводите значения сетки координат, а затем значения осей, потому что сетка будет перекрывать оси.
Данный график иллюстрирует, что сумма равная 7 выпадает чаще всего. Каждый склон на графике - это линейная функция. Высота каждой точки будет (приблизительно) равна 1/36*бросков, 2/36*бросков и т.д.