Самостоятельная работа 9 класс. Построение графиков с модулем
Похожие файлы
object(ArrayObject)#853 (1) { ["storage":"ArrayObject":private] => array(6) { ["title"] => string(122) "Программа элективного курса по теме "Построение графиков функции" " ["seo_title"] => string(72) "proghramma-eliektivnogho-kursa-po-tiemie-postroieniie-ghrafikov-funktsii" ["file_id"] => string(6) "117096" ["category_seo"] => string(10) "matematika" ["subcategory_seo"] => string(7) "prochee" ["date"] => string(10) "1412698591" } }
object(ArrayObject)#875 (1) { ["storage":"ArrayObject":private] => array(6) { ["title"] => string(110) "Разработка урока "Построение графика квадратичной функции" " ["seo_title"] => string(61) "razrabotka-uroka-postroieniie-ghrafika-kvadratichnoi-funktsii" ["file_id"] => string(6) "123607" ["category_seo"] => string(10) "matematika" ["subcategory_seo"] => string(5) "uroki" ["date"] => string(10) "1414517568" } }
object(ArrayObject)#853 (1) { ["storage":"ArrayObject":private] => array(6) { ["title"] => string(168) "Факультативный курс "Решение уравнений, неравенств,построение графиков,содержащих модуль" " ["seo_title"] => string(101) "fakul-tativnyi-kurs-rieshieniie-uravnienii-nieravienstv-postroieniie-ghrafikov-sodierzhashchikh-modul" ["file_id"] => string(6) "244623" ["category_seo"] => string(10) "matematika" ["subcategory_seo"] => string(7) "prochee" ["date"] => string(10) "1445965472" } }
object(ArrayObject)#875 (1) { ["storage":"ArrayObject":private] => array(6) { ["title"] => string(114) "Программа по работе с одаренными детьми "Абсолютная величина" " ["seo_title"] => string(67) "proghramma-po-rabotie-s-odariennymi-diet-mi-absoliutnaia-vielichina" ["file_id"] => string(6) "117638" ["category_seo"] => string(10) "matematika" ["subcategory_seo"] => string(12) "planirovanie" ["date"] => string(10) "1412861219" } }
object(ArrayObject)#853 (1) { ["storage":"ArrayObject":private] => array(6) { ["title"] => string(105) "Статья: из опыта работы "Применение ЭОР на уроках физики". " ["seo_title"] => string(59) "stat-ia-iz-opyta-raboty-primienieniie-eor-na-urokakh-fiziki" ["file_id"] => string(6) "136930" ["category_seo"] => string(6) "fizika" ["subcategory_seo"] => string(7) "prochee" ["date"] => string(10) "1417207782" } }
Аттестационная работа. «Графика квадратной функции, содержащей модуль» методическая разработка занятия курса. 9 класс
1. Аттестационная работа
слушателя курсов повышения квалификации попрограмме:
«Проектная и исследовательская деятельность
как способ формирования метапредметных
ФГОС»
Царевой Елены Борисовны
Рязанская обл., г. Сасово, МБОУ «СОШ №6»
на тему:
«Графика квадратной функции, содержащей модуль»
(методическая разработка занятия элективного курса для
9 класса с элементами исследовательской деятельности).
Исследователем можно быть
и перед лицом огромной
неизученной проблемы,
и перед лицом школьной задачи,
миллионы раз решавшейся
другими.
С.Л. Соболев
3. Краткая характеристика работы. Постановка проблемы. Актуальность.
В современном обществе педагог должен не столько давать знания ,сколько научить эти знания добывать . Дети приходят в школу учиться , то
есть учить себя . Уроки – исследования считаю составной частью в этом
процессе. Необходимо так организовать познавательную деятельность
школьников, чтобы процедура учебного исследования усваивалась ими
вместе с тем содержанием, на котором оно осуществляется.
Под уроком – исследованием я представляю себе деятельность учащихся и
учителя, связанную с решением учащимися (при поддержке учителя)
исследовательской задачи (пусть и с заранее известным решением, но
незнакомым учащимся).
Методическая разработка занятия элективного курса для 9 класса
“Построение графика квадратной функции, содержащей модуль”.
является примером организации такой деятельности.
4. Краткая характеристика образовательного учреждения
МБОУ СОШ №6 в 2016 годуотмечает свое 40-летие.
Это самая большая по
количеству обучающихся в ней
учеников школа города
(примерно 1000 учеников).
В школе трудятся 63 педагога,
большая часть которых –
выпускники этой школы.
5. Цель и задачи
Цель: Исследовать расположение графика функции накоординатной плоскости в зависимости от модуля.
Задачи:
1. Освоение навыков построения графиков и исследования
2. Повышение компетенции учащихся в области умение
анализировать, сравнивать, математически и графически
оформлять результаты деятельности, переносить
знания из области информатики в математику и наоборот
3. Овладение учащимися технологиями учебной
исследовательской деятельности.
КОМПОЗИЦИЯ ИССЛЕДОВАТЕЛЬСКОГО УРОКА
• обнаружение проблемы
• исследовательское задание
• обсуждение результатов
• фиксация новой информации
• задания на формирование умения
• задания на использование умения
7.
Вспоминаем то что знаем8. Обнаружение проблемы
Изобразите схематически графики функций:а) у = х2 — 6x + 3,
б)у = х2 — 6|x| + 3,
в) у = |х2 — 6х + 3|.
Фиксация затруднения, причины затруднения.
Цель деятельности: узнать как выглядит график (или построить способ
изображения графика функции ) у = ах2 +b|x| + c и у =| ах2 +bx + c |
9. Построение проекта выхода из затруднения
Какие знания, умения, инструменты, способыдеятельности могут помочь при решении проблемы.
(коллективное обсуждение, построение плана
исследования, выбор задания для работы в группе)
Работа выполняется в программе
Advanced Grapher
10. Примеры заданий учебного исследования
2)Постройте график функции у = -2х2 + 6x + 3,Сделайте предположение о форме графиков функции у = | -2х2 + 6x + 3 |,
у = -2х2 + 6 | x | + 3.
Проверьте свою гипотезу.
3)Меняя параметры a,b,c, постройте графики функции у = aх2 + bx + c.
Сделайте предположение о форме графиков функции у = | aх2 + bx + c |,
у = aх2 + b | x | + c,
Проверьте свою гипотезу.
4) Постройте график функции
a)у = |x2 6|x| + 3|;
б) y = |x2 6x + 3| 3.
При построении графиков данных функций каждая группа исследовала
влияние модуля на вид графика функции и сделала соответствующие
заключения.)
Получили сводную таблицу для графиков функций, содержащих модуль.
Таблица построения графиков функций, содержащих модуль.
Вид функции
1. у = f(|x|)
2. у = |f(x)|
3. у = |f(|x|)|
4. у = |f(x)| + a
Способ построения графика
функции
1. Отобразить график функции у = f(x)
симметрично относительно оси Оу.
2. Отобразить график функции у = f(x)
симметрично относительно оси Ох.
3. Последовательно отобразить
график функции у = f(x) симметрично
относительно осей координат.
4. Параллельный перенос перенос
графика функции у = |f(x)|на вектор
{0;а}.
Занимаясь исследованиями, в том числе и на уроке
выпускник получит возможность научиться:
Самостоятельно планировать и выполнять учебное
исследование,
Использовать догадку, озарение, интуицию,
Использовать такие математические приемы и методы, как
перебор логических возможностей, математическое моделирование,
доказательство по аналогии, доказательство от противного,
опровержение, контрпример, индуктивные и дедуктивные
рассуждения, построение и исполнение алгоритма
Для некоторых учеников занятие с элементами исследования – это
первый шаг к началу работы над индивидуальным учебным
исследованием и участию в школьных конференциях.
Page not found!
Станица, которую вы искали, не найдена.
Используйте поисковую форму ниже, чтобы найти искомую статью. Или просмотрите нижеследующие рубрики и статьи, чтобы найти для себя что-нибудь более интересное.
Архив за год
Архив за месяц
Архив рубрик
- Без рубрики (683)
- Галереи-край (282)
- Доска почета (4)
- Доска почёта — Беларусь (1)
- Доска почёта — Казахстан (1)
- Доска почёта — Россия (1)
- Доска почёта — Украина (1)
- Есть такие дети — дислексики (3)
- Изучение JavaScript (3)
- Интерактивы (13)
- Календарь знаменательных и памятных дат (769)
- Конкурсы (317)
- Мастер своего дела-2017 (177)
- Новости (15 312)
- Новости (15 265)
- Обл. Австрии (10)
- Обл. Азербайджана (33)
- Обл. Албании (11)
- Обл. Андорры (8)
- Обл. Армении (10)
- Обл. Белоруссии (141)
- Обл. Болгарии (30)
- Обл. Боснии (10)
- Обл. Венгрии (19)
- Обл. Греции (13)
- Обл. Дании (5)
- Обл. Испании (18)
- Обл. Италии (20)
- Обл. Казахстана (16)
- Обл. Киргизии (8)
- Обл. Латвии (29)
- Обл. Литвы (40)
- Обл. Лихтенштейн (12)
- Обл. Люксембурга (12)
- Обл. Молдовия (32)
- Обл. России (2 288)
- Обл. Украины (726)
- Официальная документация (891)
- Партнеры (4)
- Педагогическая копилка (47)
- Победители конкурса «Опять-25» (24)
- Поздравляем (11)
- Пообщаемся? (9)
- Примите участие в проектах (3)
- Разработки профессионалов (279)
- Резюме учителей (26)
- Реклама (2)
- Сборник идей (4 895)
- Астрономия, экология (45)
- Библиотечное дело, музеи, краеведение (23)
- Военно-патриотическое воспитание, ОБЖ (137)
- География, природоведение, окружающий мир (237)
- Дополнительное образование, внешкольная работа (155)
- Дошкольное образование (294)
- Здоровьесберегающие технологии, физическая культура (182)
- Иностранные языки (329)
- Информатика и ИКТ (194)
- Искусство, музыка, черчение, МХК, ИЗО (102)
- История (142)
- Классное руководство и воспитание учащихся (114)
- Коррекционная и социальная педагогика, психология, логопедия (175)
- Математика, алгебра, геометрия (414)
- Начальные классы (819)
- Право, экономика (81)
- Русский язык, литература (574)
- Специализированный сборник (любые другие направления) (477)
- Управление образовательным учреждением (48)
- Физика (118)
- Химия, биология (234)
- События (261)
- Стр. Издания, Диски, Беларусь (15)
- Стр. Издания, Диски, Россия (37)
- Стр. Издания, Диски, Украина (15)
- Стр. Издания, Интернет-книги (5)
- Стр. Издания, Книги (5)
- Стр. Издания, Книги, Россия (1)
- Стр. Издания, Учебники (23)
- Стр. Товары, Аудио и видео (5)
- Стр. Товары, Бытовая техника (5)
- Стр. Товары, Игры (5)
- Стр. Товары, Искусство, ремёсла (93)
- Стр. Товары, Канцелярия (5)
- Стр. Товары, Компьютеры (5)
- Стр. Товары, Медицина (5)
- Стр. Товары, Мобильная связь (5)
- Стр. Товары, Оргтехника (5)
- Стр. Товары, Спорт и туризм (5)
- Стр. Услуги, Выставки (13)
- Стр. Услуги, Доставка цветов (129)
- Стр. Услуги, Конференции (13)
- Стр. Услуги, Обучение (13)
- Стр. Услуги, Отдых учителей (5)
- Стр. Услуги, Переводчики (160)
- Стр. Услуги, Репетиторы (3 568)
- Стр. Услуги, Семинары (14)
- Страны (57)
- Творчество педагогов (20)
- Фотокаталог (4)
Архив статей
Методы построения графиков функций содержащих модуль
Цель урока:
- повторить построение графиков функций содержащих знак модуля;
- познакомиться с новым методом построения графика линейно-кусочной функции;
- закрепить новый метод при решении задач.
Оборудование:
- мультимедиа проектор,
- плакаты.
Ход урока
Актуализация знаний
На экране слайд 1 из презентации.
Что является графиком функции y=|x| ? (слайд 2).
(совокупность биссектрис 1 и 2 координатных углов)
Найдите соответствие между функциями и графиками, объясните ваш выбор (слайд 3).
Рисунок 1
y=| x+3|
y=| x| +3
y=-2| x| -2
y=6-| x-5|
y=1/3| x-6| -3
Расскажите алгоритм построения графиков функций вида y=|f(x)| на примере функции y=|x2-2x-3| (слайд 4)
Ученик: чтобы построить график данной функции нужно
— построить параболу y=x2-2x-3
— часть графика над ОХ сохранить, а часть графика расположенную ниже ОХ отобразить симметрично относительно оси ОХ (слайд 5)
Рисунок 2
Рисунок 3
Расскажите алгоритм построения графиков функций вида y=f(|x|) на примере функции y=x2-2|x|-3 (слайд 6).
Ученик: Чтобы построить график данной функции нужно:
— построить параболу.
— часть графика при х 0 сохраняется и отображается симметрии относительно оси ОУ (слайд 7)
Рисунок 4
Расскажите алгоритм построения графиков функций вида y=|f(|x|)| на примере функции y=|x2-2|x|-3| (слайд 8).
Ученик: Чтобы построить график данной функции нужно:
— нужно построить параболу у=x2-2x-3
— строим у= x2-2|x|-3, часть графика сохраняем и симметрично отображаем относительно ОУ
— часть над ОХ сохраняем, а нижнюю часть симметрично отображаем относительно ОХ (слайд 9)
Рисунок 5
Следующее задание выполняем письменно в тетрадях.
1. Построить график линейно-кусочной функции у=|х+2|+|х-1|-|х-3|
Ученик на доске с комментарием:
— находим нули подмодульных выражений х1=-2, х2=1, х3=3
— разбиваем ось на промежутки
— для каждого промежутка запишем функцию
при х < -2, у=-х-4
при -2 х<1, у=х
при 1 х<3, у = 3х-2
при х 3, у = х+4
— строим график линейно-кусочной функции.
Мы с вами построили график функции используя определение модуля (слайд 10).
Рисунок 6
Предлагаю вашему вниманию “метод вершин”, который позволяет строить график линейно-кусочной функции (слайд 11). Алгоритм построения дети записывают в тетрадь.
Метод вершин
Алгоритм:
- Найдем нули каждого подмодульного выражения
- Составим таблицу, в которой кроме нулей запишем по одному значению аргумента слева и справа
- Нанесем точки на координатную плоскость и соединим последовательно
2. Разберем этот метод на той же функции у=|х+2|+|х-1|-|х-3|
Учитель на доске, дети в тетрадях.
Метод вершин:
— найдем нули каждого подмодульного выражения;
— составим таблицу, в которой кроме нулей запишем по одному значению аргумента слева и справа
х -3 -2 1 3 4
у -1 -2 1 7 8
— нанесем точки на координатную плоскость и соединим последовательно.
Графиком линейно-кусочной функции является ломанная с бесконечными крайними звеньями (слайд 12) .
Рисунок 7
Каким же методом график получается быстрее и легче?
3. Чтобы закрепить данный метод предлагаю выполнить следующее задание:
При каких значения х функция у=|х-2|-|х+1| принимает наибольшее значение.
Следуем алгоритму; ученик на доске.
у=|х-2|-|х+1|
х1=2, х2=-1
у(-2)=4-1=3
у(-1)=3
у(2)=-3
у(3)=1-4=3, соединяем последовательно точки.
унаиб = 3
4. Дополнительное задание
При каких значениях а уравнение ||4+x|-|x-2||=a имеет два корня.
5. Домашняя работа
а) При каких значениях Х функция у =|2x+3|+3|x-1|-|x+2| принимает наименьшее значение.
б) Построить график функции y=||x-1|-2|-3| .
Технологическая карта урока алгебры в 9 классе «Графики функций, содержащие модуль.
Методы построения»1. Цель урока: Повторить построение графиков функций, содержащих знак модуля; познакомить с новым методом построения графика линейно-кусочной функции; закрепить новый метод при решении задач.
2. Тип урока: урок общеметодической направленности
3. Технологии: здоровьесбереженья, поэтапное формирование умственных действий, проблемного обучения, развивающего обучения, индивидуально личностного обучения.
4. Решаемые проблемы: Функции, содержащие модуль; графики функций, содержащих модуль. Методы построения графиков функций, содержащих модуль.
5. Виды действий: Формирование у учащихся умений построения и реализации новых знаний (понятий, способов действий): построение алгоритма действий, работы с опорным конспектом, проектирования способов выполнения задания.
Планируемые результаты:
6. Предметные: Актуализировать знания учащихся по построению графиков функций с помощью различных преобразований; научить строить графики функций, содержащих модуль, используя различные методы .
7. Метапредметные УУД: Коммуникативные: с достаточной полнотой и точностью выражать свои мысли в соответствии с задачами и условиями коммуникации.
Регулятивные: вносить коррективы и дополнения в способ своих действий в случае расхождения эталона, реального действия и его продукта.
Познавательные: выбирать наиболее эффективные способы решения задачи.
8. Личностные УУД: Формирование познавательного интереса к предмету исследования, устойчивой мотивации к изучению и закреплению нового; формирование навыков анализа, навыков работы по алгоритму.
9. Задачи:
– обучающие: ввести и изучить алгоритм построения графика линейно-кусочной функции новым методом.
–развивающие: развивать зрительную память, математически грамотную речь, аккуратность, точность в построении; умение анализировать, логическое мышление, память через использование образных подсказок.
-воспитательные: создать условия для формирования ответственного отношения к учебному труду, проявления личной заинтересованности при выслушивании высказывания каждого, развивать умения критически относиться к получаемой информации, аргументировать собственное высказывание, работать в коллективе.
10. Формы работы учащихся: индивидуальная, фронтальная
11. Необходимое техническое оборудование: компьютер(1), проектор(1), экран(1).
12. Структура и ход урока
13. Аннотация к уроку
Урок проводится в обычном, не специализированном кабинете математики в котором находится только один компьютер, не имеющий выход в интернет, проектор, экран. Исходя из данных условий, учитель определяет основными формами работы на уроке- фронтальную и индивидуальную.
СТРУКТУРА И ХОД УРОКА
№ | Этап урока | Название используемых материалов | Деятельность учителя
| Деятельность ученика | Время (в мин.)
|
1 | 2 | 3 | 5 | 6 | 7 |
1 | Подготовительный этап. Мотивация. | Графики функций, изображающие различные реальные ситуации. | Учитель мотивирует тему урока, формулирует цели урока | Учебный диалог учеников с учителем | 3 |
2 | Актуализация знаний | Слайды , на которых изображены графики функций, содержащих модуль. | Учитель задаёт вопросы о способах преобразования графиков функций, об алгоритме построения графиков функций, содержащих модуль (фронтальный опрос). | Ученики отвечают на вопросы, рассуждают, опираясь на рисунки, делают вывод. | 6 |
3 | Выполнение задания на построения графика кусочно-линейной функции, с помощью определения модуля. | Учитель организует учебный диалог, контролирует процесс выполнения задания. | Ученики отвечают на вопросы, делают выводы; оформляют соответствующие записи в тетради. | 8 | |
4 | Введение алгоритма нового метода построения графика кусочно линейной функции. | Слайд, на котором размещен алгоритм «Метода вершин» | Учитель задает вопросы и комментирует этапы алгоритма. | Ученики обсуждают новый метод и записывают алгоритм в тетради. | 4 |
5 | Усвоение алгоритма построения графика кусочно-линейной функции. |
| Учитель организует работу по обсуждению шагов алгоритма, через практическое задание вводит алгоритм построения. | Ученики фронтально обсуждают, выполняют в тетрадях и на доске. Подводят итоги: формулируют алгоритм построения графика кусочно-линейной функции, оформляют записи в тетрадях. | 8 |
6 | Закрепление алгоритма построения графика кусочно-линейной функции. |
| Учитель задает задание — при каких значениях х, функция принимает наибольшее значение. | Ученики выполняют задание, используя «Метод вершин» (у доски 1 ученик, остальные самостоятельно на местах в тетрадях). | 6 |
|
|
|
|
|
|
7 | Рефлексия | Учитель организует подведение итогов урока, обобщение | Ученики отвечают на вопросы, озвучивают этапы алгоритма построения графика кусочно- линейной функции, делают выводы о роли этого урока в объеме темы. | 3 | |
8 | Домашнее задание | 1.Учитель задаёт домашнее задание —найти наибольшее значение функции и построить график кусочно-линейной функции, используя изученный новый метод.
| Ученики записывают домашнее задание и определяются в фор мах его выполнения | 2 | |
|
|
|
|
|
|
ПЕРЕЧЕНЬ ИСПОЛЬЗУЕМЫХ НА ДАННОМ УРОКЕ ЭОР
№ | Название ресурса | Тип, вид ресурса | Форма предъявления информации (иллюстрация, презентация, видеофрагменты, тест, модель и т.д.) | Гиперссылка на ресурс, обеспечивающий доступ к ЭОР |
1 | Линейная функция | Интерактивное задание | Ресурс содержит демонстрации и задания по теме “Линейная функция”
| http://school-collection. edu.ru/catalog/res/579d6889-4cb0-4018-93d4-5e4954ed9e9a/?from=820d62ae-6bce-41ea-923d-7184c1801fc9&interface=pupil&class=49&subject=17 |
2 | Линейная функция и ее график. П1 | Модуль
Практи ческого типа | Тестирование | http://www.fcior.edu.ru/card/13979/lineynaya-funkciya-i-ee-grafik-p1.html |
3 | График линейной функции | Интерактивное задание | Ресурс содержит демонстрации и задания по теме “График линейной функции | http://school-collection.edu.ru/catalog/res/bf11078a-01e3-448f-aa69-199e5b58b02f/?from=820d62ae-6bce-41ea-923d-7184c1801fc9&interface=pupil&class=49&subject=17 |
4 | Линейная функция и ее график. И1 | Модуль Информационного типа | Анимация | http://www.fcior.edu.ru/card/4846/lineynaya-funkciya-i-ee-grafik-i1.html |
5 | Линейная функция и ее график. К1
| Модуль Контролирующего типа | Тестирование | http://www.fcior.edu.ru/card/9228/lineynaya-funkciya-i-ee-grafik-k1.html |
Построение графиков содержащих знак модуля построение графика функции содержащей переменную или функцию под знаком модуля согласно определению модуля
Построение графиков, содержащих знак модуля
Построение графика функции, содержащей переменную
или функцию под знаком модуля согласно определению модуля:
x, если х>=0 f(x), если f(x)>=0
|x| = ; |f(x) | =
-x, если x<0 -f(x), если f(x)<0
Пример:
Построить график функции у=|2x-3|-х.
Рассмотрим два случая.
2х-3>=0 2х-3<0
y=2x-3-x или y=-2x+3-x
x>= x<
y=x-3 y= -3x+3
Таким образом, чтобы построить график функции у=|2x-3|-x, надо построить графики функций, заданными различными выражениями на различных промежутках.
х-3, х>=
у=
— 3х+3, х<
График изображен ниже:
y=|2x-3|-x
Построить график:
Y=|X|+X
Y=|X| · (X-2)
Y=|X+4| · X
Y=
Y=
Y=2–1)
Y=2+4X+3)
Y=
Y=
Y=X — 1 — |X-1|
Y=|3X-4|-X
Y=
13. Y=
Y=
Y=
Y=
Y=X2 — 2|X+1|-1
Y=X+
Y=|X2-4X+3|+2X
Y=
Y=|X2-4|+4X
Y=
Элементарные преобразования графика функции у=f(x)
Если формула зависимости имеют вид |y| = f(x):
Надо построить график у = f(x)
Часть графика, расположенную выше оси Ох (и на самой оси) оставить без изменения
Часть графика расположенную ниже оси Ох стереть
Для оставленной части построить симметричную относительно оси Ох
Пример:
Построить график |y| = 2х-1
Построить график:
Y|=5X-4
|Y|=9-X2
|Y|=
|Y|=(X+4)2-5
|Y|=
|Y|=X+2
|Y|=X2-6X+8
|Y|=X2-4X
X|Y|=2
|Y|=
|Y| · (X+1)=1
|Y|=1-
|Y|=|2X-X2|
Y2=-2X
|Y|=8+2X-X2
Y2=0,5X
Элементарные преобразования графика функции у=f(x)
Если формула зависимости у = f(|x|):
Надо построить график функции у = f(x), часть графика расположенную правее оси Оу(и на самой оси) оставить без изменения
Часть графика расположенную левее оси Оу стереть
Построить для оставленной части симметричную относительно оси Оу
Пример:
Построить график у=2|x|-1
Построить график:
Y=5|X|-5
Y=9-|X|2
Y=
Y=
Y=
Y=(|X|+4)2-5
Y=
Y=
Y=|X|-1
Y=
Y=X2-|X|-6
Y=-X2+6|X|-8
Постройте график. С его помощью укажите пути функции, интервалы знакопостоянства, промежутки монотонности, наибольшее и наименьшее значения функции, область значений функции:
2-, если |X|<=4
у= , если |X|>4
Y=X2-|X|-2
Решите уравнение X2+3|X|-18=0 графически.
Y=|X|-X2
Y=
Элементарные преобразования графика функции у=f(x)
Если формула зависимости имеет вид у = |f(x)|,
График функции у = f(x) выше оси Ох (и на самой оси Ох) оставить без изменения
Для части графика расположенной ниже оси Ох строят симметричную относительно
оси Ох
Часть графика расположенная ниже оси Ох стирается.
Пример:
Построить график функции у=|2x-1|
Построить график:
Y=|5X-4|
Y=|9 -X2|
Y=
Y=|(X-4)2-5)|
Y=|X+2|
Y=|X-1|
Y=|X2+2X|
Y=
Y=||
Y=||X2-3|-1|
Y=|X2-1|
Y=|X+1|-2
Y=4+|X-3|
Y=3 ∙ |X-2|
Найдите наибольшее и наименьшее значение функции Y=:
а)на отрезке [-2;2]
б)на луче [0;+ )
в)на луче (- ;3]
г)на отрезке [-5;0]
16. Найдите наименьшее и наибольшее значение функции Y=:
а)на луче (- ;5]
б)на отрезке [4;7]
в)на луче [2;+ )
г)на полуинтервале [-1;6]
17.Решите уравнение графически:
а)|X2-9|=5 б)|X-2|=X2 в)|X+1|= -2X2
г)|X2-1|=|X2-X+1| д)|X-3|=X2+1 е)|X+5|=-X-1
ё) -2(X+2)2 ж) з)(X+3)2
и)-X
Построение графиков уравнений, содержащих несколько модулей
Пример: построить график функции
1). Найти те значения переменной, при которых выражение, стоящее под знаком модуля, равно нулю. ; ; .
2). Числовую прямую разбивают на промежутки точками, соответствующими найденным значениям переменной
0 1
3). На каждом промежутке определяют знак выражения, стоящего под знаком модуля (берут числа из промежутка и ставят в под модульное выражение). Определяют знак выражения стоящего под знаком модуля
− 0 − 1 +
− + +
4). Берут промежуток, раскрывают модуль (пользуясь определением модуля) на данном промежутке и упрощают
Составляют формулу кусочной функции
y
Строят график кусочной функции
1
x
0 1
1). Найдите промежутки убывания функции и ее наибольшее значение на отрезке . Ответ: , .
2). Найдите множество значений функции и ее наименьшее значение на отрезке . Ответ: , .
3). Найдите множество значений функции и значения, которые функция принимает ровно три раза. Ответ: ; ; .
4). Найдите все значения , при которых значения функции положительны и значения, принимаемые функцией ровно 2 раза. Ответ: ; , .
5). Постройте график функции и для каждого укажите количество общих точек этого графика и прямой .
а). . Ответ: Общих точек нет при ;
При , одна точка;
При и , две точки;
При , бесконечное множество точек.
б). . Ответ: Общих точек нет при ;
При , одна точка;
При и , две точки;
При ,, три точки;
При , четыре точки.
6). Найдите наибольшее и наименьшее значения функции на отрезке . Ответ: ; .
7). Найдите наименьшее значение функции
а). .Ответ: при .
б). .Ответ: при .
9). Докажите, что если , то наименьшее значение функции равно .
10). Исследуйте функцию на промежутки монотонности
а). . Ответ: На промежутках ; функция убывает. На промежутках возрастает.
б). . Ответ: На промежутках ; функция убывает. На промежутках и возрастает. На промежутках и функция постоянна.
11). Постройте графики функций
1). 2).
3). 4).
Решение неравенств, содержащих знак модуля
Неравенства вида
> , где > 0
Если выражение, стоящее под знаком модуля , обозначить через t (f(x) = t), то данное неравенство примет вид > . Используя геометрический смысл модуля (модуль на числовой прямой представляет собой расстояние от точки, которая изображает данное число, до точки ноль). Изображаем на числовой прямой все точки, расстояние от которых до ноля больше .
———∙——————∙—————∙————►t
— 0
t < — или t >
Решаем совокупность неравенств
Пример:
Решите неравенство > 11
Решение: > 11
Пусть , >11
———∙——————∙—————∙————►t
-11 0 11
; ;
Ответ: ; ;
Неравенство вида > , где < 0 верно при всех из области допустимых значений неравенства.
Решите неравенства
1). > 11. Ответ:
2). . Ответ:
3). . Ответ: : .
4). . Ответ: . .
5). . Ответ: .
6). . Ответ: .
7). . Ответ: .
8). . Ответ: .
9). . Ответ: .
10). >2. Ответ: .
Неравенства вида
>
Учитывая свойство модуля =
и свойство неравенства: если обе части неравенства неотрицательны, то при возведении в квадрат получаем неравенство равносильное данному .
Неравенство > можно заменить равносильным неравенством > это — >0 (—) ∙ (+) >0
Далее решать методом интервалов или заменить совокупностью систем
Аналогично решаются неравенства вида < .
Решите неравенства
1). . Ответ: .
2). Найти целочисленные решения неравенства .
Ответ: -8; -7; -6; … -1;0.
3). . Ответ: .
4). . Ответ: .
5). . Ответ: .
6). . Ответ: .
7). . Ответ: .
8). . Ответ: .
9). . Ответ: .
10). . Ответ: .
11). . Ответ: .
12). . Ответ: .
13). . Ответ: .
14). . Ответ: .
15). . Ответ: .
16). . Ответ: .
17). . Ответ: .
18). . Ответ: .
19). . Ответ: .
20). . Ответ: .
21). . Ответ: .
22). . Ответ: .
23). . Ответ: .
Решение неравенств вида
;
Неравенство
Доказательство:
.
Неравенство
Доказательство:
.
.
Решите неравенства
1). . Ответ: .
2). . Ответ: .
3). . Ответ: .
4). . Ответ: .
5). . Ответ: .
6). . Ответ: или .
7). . Ответ: .
8). . Ответ: ; .
9). . Ответ: .
10). . Ответ: .
11). . Ответ: .
12). . Ответ: или .
13). . Ответ: ; .
14). . Ответ: или .
15). . Ответ: .
16). . Ответ: .
17). . Ответ: .
18). . Ответ: .
19). . Ответ: .
20). . Ответ: ; .
Решение неравенств, содержащих несколько модулей методом интервалов
Суть метода состоит в следующем:
Пример:
1). Находят те значения переменной при которых выражения, стоящие под знаком модуля равно нулю.
2). Числовую ось разбивают на промежутки точками, соответствующими значениям переменной
1
3). На каждом промежутке, определяют знак выражения, стоящего под знаком модуля (берут число из промежутка, ставят в подмодульное выражение, определяют знак выражения, стоящего под знаком модуля)
— 0 + 1 +
-1 — — +
4). Берут промежуток, раскрывают каждый модуль, пользуясь определением модуля на данном промежутке, и решают неравенство
5). Проверяют, принадлежат ли найденные решения неравенства рассматриваемому промежутку; если принадлежат, то их включают в ответ
0
2
Если нет – отбрасывают. Так поступают с каждым промежутком.
6). Объединяют все решения исходного неравенства, найденные на всех промежутках, и учитывая область допустимых значений первоначального неравенства, выписывают ответ.
Ответ: -2<<3
Решите неравенство
1). Ответ:
2). Ответ:
3). Ответ:
4). Ответ:
5).Укажите целочисленные решения неравенства Ответ: 3;4
6). Ответ:
7). Ответ:
8). Ответ:
9). Ответ:
10). Ответ:
11). Ответ:
12). Ответ:
13). Ответ:
14). Ответ:
15). Ответ:
16). Ответ:
Решение неравенств, содержащих знак модуля, методом введения новой переменной.
1). Найти область значений переменной, входящей в неравенство.
2). Если в уравнении неоднократно встречается фиксированное выражение, зависящее от неизвестной величины, то имеет смысл обозначить это выражение, какой либо буквой. Когда вводится обозначение желательно сразу отбросить все или некоторые значения при которых уравнение = не имеет решений , т.е. полезно сразу указать область значений функции = .
3). Решить неравенство относительно введенной неизвестной.
4). Решить неравенство относительно исходной переменной.
5). Учитывая область допустимых значений исходного неравенства записать ответ.
Пример:
Учитывая свойство модулей имеем Пусть = , , тогда неравенство примет вид =1; =-3. f
Учитывая, что имеем
Учитывая область допустимых значений исходного неравенства Ответ:
Решите неравенства
1). Ответ:
2). Ответ:
3). Ответ:
4). Ответ:
5). Ответ:
6). Ответ:
7). Ответ:
8). Ответ:
9). Ответ:
10). Ответ:
Изображение на координатной плоскости множества точек, координаты которых удовлетворяют данному неравенству
Чтобы на координатной плоскости изобразить множество точек, координаты которых удовлетворяют неравенству надо:
1). Построить множество точек, координаты которых удовлетворяют уравнению (если неравенство строгое, то линия изображается пунктирной, если не строгое, то сплошной).
2). График или графики уравнений разбивают координатную плоскость на части.
3). Взять координаты точки, принадлежащей каждой части по очереди и поставить в неравенство. Если координаты точки удовлетворяют неравенству, то эту часть координатной плоскости заштриховать.
Пример: Изобразить на координатной плоскости множество точек, координаты которых удовлетворяют неравенству .
1). Построим график уравнения .
или
III II I
-1 0 1
Прямые и изображаем сплошными линиями, так как неравенство не строгое. Прямые разбивают координатную плоскость на три области. Неравенству удовлетворяют координаты точек, принадлежащих II части, поэтому заштриховываем II часть.
Изобразите на координатной плоскости множество точек, координаты которых удовлетворяют неравенству.
1). .
2). .
3). .
4). .
5). .
6). .
7). .
8). .
9). .
10). .
11). .
12). .
13). .
14). .
15). .
16). .
17). .
18). .
19).
20). .
21). .
22). .
23. .
24). .
Изобразите на координатной плоскости множество точек, удовлетворяющих условию
а) . б).
в) г)
д) е) .
Системы неравенств с параметрами, содержащие знак модуля
1). Найдите все значения параметра , при которых система неравенств имеет единственное решение.
а). Ответ: При .
б). Ответ: При .
2). При каких значениях параметра система неравенств имеет ровно одно решение?. Для всех таких найдите это решение.
а). Ответ: При , ;
При , .
б). Ответ: При , ;
При , .
3). При каких значениях параметра система не имеет решения.
а). Ответ: При .
б). Ответ: При .
4). Для каждого значения параметра решите систему неравенств.
а). Ответ: При , ;
При , ;
При , ;
При , .
б). Ответ: При и , ;
При , ;
При , ;
При , ;
При , .
Нестандартные уравнения и неравенства, содержащие знак модуля
К нестандартным ,обычно относятся такие уравнения и неравенства, где традиционные алгоритмы решения не проходят. Во многих случаях, решение таких уравнений и неравенств осуществляется на функциональном уровне, т.е с помощью графиков, или за счет сопоставления некоторых свойств функций, содержащихся в левой и правой частях уравнения или неравенства.
Если, например, наименьшее значение одной из функций совпадает с наибольшим значением функции , то уравнение = заменяют равносильной системой , где — наименьшее значение или наибольшее значение .
Решение системы является решением уравнения = .
1). Решите уравнение
Уравнение необходимо решить графически. Ответ:
2). Решите неравенство
. Применить метод оценки. Ответ:
3). Решите уравнение
. Решить уравнение графически. Ответ:
4). Решите уравнение
. Применить свойство: сумма неотрицательных функций равна нулю тогда и только тогда, когда все функции одновременно равны нулю. Ответ:
5). Решите уравнение
.Область допустимых значений (ОДЗ) уравнения состоит из конечного числа значений. Для решения достаточно проверить все эти значения. Ответ:
Применение свойства = для любого
при нахождении значения выражения
Вычислите:
1). Ответ: -6
2). , если t = -10; t = 127. Ответ: -8; 127
3). ∙ . Ответ: 0,125
4). −. Ответ: -6
5). − . Ответ: 2
6). − . Ответ: 8
7). + . Ответ: 2
8). + . Ответ: 6
9). + . Ответ: 2
10). + . Ответ: 10
11). − . Ответ: -3
12). − . Ответ: -6
13). − − 0,5. Ответ: 0
14). + . Ответ:1
15). + Ответ: 1
16). . Ответ: 8
17). Найти и , если = — . Ответ: 28; -2
18). Найти и , если = — . Ответ: 40; -2
19). Сравните значение выражения
с числом . Ответ:
20). Сравните значение выражения
с числом . Ответ:
21). Докажите, что выражение ∙ является корнем уравнения = 1.
22). Докажите, что выражение является корнем уравнения = 1.
23). Удовлетворяет ли число − неравенству 7+58+13>0 .
Ответ: нет
24). Удовлетворяет ли число − неравенству 11+26-730 .
Ответ: да
Л и т е р а т у р а
1). Алгебра: 8; 9; 10 – 11 класс.
Авторы: А.Г.Мордкович, Т.Н. Мишустина, Е.Е. Тульчинская.
2). Задания по математике для подготовки к письменному экзамену в 9 классе.
Авторы: Л.И. Звавич, Д.И.Аверьянов, Б.П. Пигарёв, Т.Н. Грушанина.
3). Сборник задач по алгебре 8 – 9 класс.
Авторы: М.Л. Галицкий,А.М. Гольдман, Л.И. Звавич.
4). Сборник для проведения письменного экзамена за курс средней школы 11 класс.
Авторы: Г.В. Дорофеев, Г.К.Муравин, Е.А.Седова.
5). Алгебраический тренажер.
Авторы: А.Г. Мерзляк,В.Б.Полонский, М.С.Якир
6). Материалы ЦТ и ЭГЭ за 2002 – 2005 годы.
7). Математика. Самостоятельные и контрольные работы 8; 9; 10 – 11 классы.
Авторы: А.П. Ершова, В.В. Голобородько.
8). Различные сборники для поступающих в В У З Ы.
Построение и решение графиков Функций
Понятие функции
Функция — это зависимость y от x, где x является переменной или аргументом функции, а y — зависимой переменной или значением функции.
Задать функцию значит определить правило, в соответствии с которым по значениям независимой переменной можно найти соответствующие ее значения. Вот, какими способами ее можно задать:
- Табличный способ — помогает быстро определить конкретные значения без дополнительных измерений или вычислений.
- Графический способ — наглядно.
- Аналитический способ — через формулы. Компактно, и можно посчитать функцию при произвольном значении аргумента из области определения.
- Словесный способ.
Область определения — множество х, то есть область допустимых значений выражения, которое записано в формуле.
Например, для функции вида область определения выглядит так
- х ≠ 0, потому что на ноль делить нельзя. Записать можно так: D (y): х ≠ 0.
Область значений — множество у, то есть это значения, которые может принимать функция.
Например, естественная область значений функции y = x² — это все числа больше либо равные нулю. Можно записать вот так: Е (у): у ≥ 0.
Чтобы ребенок разобрался в теории и чувствовал себя увереннее на школьных контрольных, запишите его на современные уроки математики в онлайн-школу Skysmart.
Интерактивные задания, математические комиксы и карта прогресса в личном кабинете — математика еще никогда не была таким увлекательным приключением!
Понятие графика функции
Графиком функции y = f(x) называется множество точек (x; y), координаты которых связаны соотношением y = f(x). Само равенство y = f(x) называется уравнением данного графика.
График функции — это множество точек (x; y), где x — это аргумент, а y — значение функции, которое соответствует данному аргументу.
Проще говоря, график функции показывает множество всех точек, координаты которых можно найти, просто подставив в функцию любые числа вместо x.
Для примера возьмём самую простую функцию, в которой аргумент равен значению функции, то есть y = x.
В этом случае нам не придётся вычислять для каждого аргумента значение функции, так как они равны, поэтому у всех точек нашего графика абсцисса будет равна ординате.
Отметим любые три точки на координатной плоскости, например: L (-2; -2), M (0; 0) и N (1; 1).
Если мы последовательно от наименьшего значения аргумента к большему соединим отмеченные точки, то у нас получится прямая линия. Значит графиком функции y = x является прямая. На графике это выглядит так:
Надпись на чертеже y = x — это уравнение графика. Ставить надпись с уравнением на чертеже удобно, чтобы не запутаться в решении задач.
Важно отметить, что прямая линия бесконечна в обе стороны. Хоть мы и называем часть прямой графиком функции, на самом деле на чертеже изображена только малая часть графика.
Не обязательно делать чертеж на целый тетрадный лист, можно выбрать удобный для вас масштаб, который отразит суть задания.
Исследование функции
Важные точки графика функции y = f(x):
- стационарные и критические точки;
- точки экстремума;
- нули функции;
- точки разрыва функции.
Стационарные точки — точки, в которых производная функции f(x) равна нулю.
Критические точки — точки, в которых производная функции f(x) равна нулю либо не существует. Стационарные точки являются подмножеством множества критических точек.
Экстремум в математике — максимальное или минимальное значение функции на заданном множестве. Точка, в которой достигается экстремум, называется точкой экстремума. Соответственно, если достигается минимум — точка экстремума называется точкой минимума, а если максимум — точкой максимума.
Нули функции — это значения аргумента, при которых функция равна нулю.
Асимптота — прямая, которая обладает таким свойством, что расстояние от точки графика функции до этой прямой стремится к нулю при неограниченном удалении точки графика от начала координат. По способам их отыскания выделяют три вида асимптот: вертикальные, горизонтальные, наклонные.
Функция непрерывна в точке k, если предел функции в данной точке равен значению функции в этой точке:
Если функция f(x) не является непрерывной в точке x = a, то говорят, что f(x) имеет разрыв в этой точке.
Если нам нужно построить график незнакомой функции, когда заранее невозможно представить вид графика, полезно применять схему исследования свойств функции. Она поможет составить представление о графике и приступить к построению по точкам.
Схема построения графика функции:
- Найти область определения функции.
- Найти область допустимых значений функции.
- Проверить не является ли функция четной или нечетной.
- Проверить не является ли функция периодической.
- Найти нули функции.
- Найти промежутки знакопостоянства функции, то есть промежутки, на которых она строго положительна или строго отрицательна.
- Найти асимптоты графика функции.
- Найти производную функции.
- Найти критические точки в промежутках возрастания и убывания функции.
- На основании проведенного исследования построить график функции.
Построение графика функции
Чтобы понять, как строить графики функций, потренируемся на примерах.
Задача 1. Построим график функции
Как решаем:
Упростим формулу функции:
Задача 2. Построим график функции
Как решаем:
Выделим в формуле функции целую часть:
График функции — гипербола, сдвинутая на 3 вправо по x и на 2 вверх по y и растянутая в 10 раз по сравнению с графиком функции
Выделение целой части — полезный прием, который применяется в решении неравенств, построении графиков и оценке целых величин.
Задача 3. По виду графика определить знаки коэффициентов общего вида функции y = ax2 + bx + c.
Как решаем:
Вспомним, как параметры a, b и c определяют положение параболы.
Ветви вниз, следовательно, a < 0.
Точка пересечения с осью Oy — c = 0.
Координата вершины
Ветви вверх, следовательно, a > 0.
Точка пересечения с осью Oy — c = 0.
Координата вершины , т.к. неизвестное число при делении на положительное дает отрицательный результат, то это число отрицательное, следовательно, b > 0.
Ветви вниз, следовательно, a < 0.
Точка пересечения с осью Oy — c > 0.
Координата вершины , т.к. неизвестное число при делении на отрицательное дает в результате положительное, то это число отрицательное, следовательно, b < 0.
Задача 4. Построить графики функций:
а) y = 3x — 1
б) y = -x + 2
в) y = 2x
г) y = -1
Как решаем:
Воспользуемся методом построения линейных функций «по точкам».
а) y = 3x — 1
Как видим, k = 3 > 0 и угол наклона к оси Ox острый, b = -1 — смещение по оси Oy.
б) y = -x + 2
k = -1 > 0 и b = 2 можно сделать аналогичные выводы, как и в первом пункте.
в) y = 2x
k = 2 > 0 — угол наклона к оси Ox острый, B = 0 — график проходит через начало координат.
г) y = -1
k = 0 — константная функция, прямая проходит через точку b = -1 и параллельно оси Ox.
Задача 5. Построить график функции
Как решаем:
Это дробно-рациональная функция. Область определения функции D(y): x ≠ 4; x ≠ 0.
Нули функции: 3, 2, 6.
Промежутки знакопостоянства функции определим с помощью метода интервалов.
Вертикальные асимптоты: x = 0, x = 4.
Если x стремится к бесконечности, то у стремится к 1. Значит, y = 1 — горизонтальная асимптота.
Вот так выглядит график:
Задача 6. Построить графики функций:
а) y = x² + 1
б)
в) y = (x — 1)² + 2
г)
д)
Как решаем:
Когда сложная функция получена из простейшей через несколько преобразований, то преобразования графиков можно выполнить в порядке арифметических действий с аргументом.
а)
Преобразование в одно действие типа f(x) + a.
y = x²
Сдвигаем график вверх на 1:
y = x² + 1
б)
Преобразование в одно действие типа f(x — a).
y = √x
Сдвигаем график вправо на 1:
y = √x — 1
в) y = (x — 1)² + 2
В этом примере два преобразования, выполним их в порядке действий: сначала действия в скобках f(x — a), затем сложение f(x) + a.
y = x²
Сдвигаем график вправо на 1:
y = (x — 1)²
Сдвигаем график вверх на 2:
y = (x — 1)² + 2
г)
Преобразование в одно действие типа
y = cos(x)
Растягиваем график в 2 раза от оси ординат вдоль оси абсцисс:
д)
Мы видим три преобразования вида f(ax), f (x + a), -f(x).
Чтобы выполнить преобразования, посмотрим на порядок действий: сначала умножаем, затем складываем, а уже потом меняем знак. Чтобы применить умножение ко всему аргументу модуля в целом, вынесем двойку за скобки в модуле.
Сжимаем график в два раза вдоль оси абсцисс:
Сдвигаем график влево на 1/2 вдоль оси абсцисс:
Отражаем график симметрично относительно оси абсцисс:
В детской школе Skysmart учиники чертят графики на специальной онлайн-доске. Учитель видит, как размышляет ученик и может вовремя его направить в нужную сторону.
Запишитесь на бесплатный вводный урок математики и занимайтесь в современном формате и с поддержкой заботливых учителей.
Базовые навыки построения графиков
Связанные количественные концепции: Понимание тенденций, интерполяция / экстраполяция, функции, значимость графика, путаница в графике
Связанные количественные концепции: Понимание тенденций, Интерпола
или навыки, которые мы должны были получить в средней школе Дженнифер М. Веннер, геологический факультет, Университет Висконсин-Ошкош
Перейти к: Графики | Описание графиков | Чтение данных | Примеры и упражнения
Вводные учебники заполнены графиками и графиками.Графики и графики являются ключевыми во вводных курсах, в которых упор делается на количественные навыки, потому что они являются сутью предоставления студентам различных представлений математических понятий; они могут быть выражены численно, визуально и символически. Хотя концепции построения графиков и построения графиков преподаются на протяжении всей учебной программы K-12, я обнаружил, что в течение первых нескольких лекций многие студенты борются с концепциями. В этом случае может потребоваться ознакомиться с основами построения графиков или построения графиков.
Основные понятия
Образцы редкоземельных элементов из гранитов в Сьерра-Неваде. ПодробностиХотя они наверняка имели опыт работы с графиками и графиками в старших классах школы, ученики часто испытывают трудности с основами построения графиков. Когда я преподаю графики, я обнаруживаю, что есть пять важных концепций, с которыми, как я ожидаю, мои ученики будут знакомы:
- Что такое график?
- построение содержательных графиков и графиков
- нанесение данных x-y на график
- с описанием графиков или графиков
- чтение и интерпретация данных с графиков
Что такое график? Почему они так важны?
Графики играют важную роль в моделировании и понимании сложных природных систем и появляются в ряде мест вводной учебной программы по геонаукам.Хотя концепции построения графиков и построения графиков преподаются в классах K-12, я обнаружил, что некоторые ученики испытывают затруднения — даже с простыми концепциями, которые, как я ожидал, они знают. Если в вашем курсе дело обстоит именно так, возможно, потребуется ознакомиться с основами построения графиков или построения графиков.
Я начинаю с того, что рассказываю студентам, что графики — это визуальные представления числовых систем и уравнений. Основное уравнение для линии Поскольку я визуально обучаюсь, графики помогают мне визуализировать взаимосвязь одного бита данных с другим.Отношение также можно перевести в математически значимое уравнение. Уравнение для прямой ( y = mx + b ) является одним из таких уравнений. Тогда другие могут использовать это уравнение, чтобы понять систему, потому что математика — универсальный язык. Если это уравнение применимо ко многим инцидентам с подобными системами, геофизики могут использовать графики для прогнозирования поведения упрощенных природных систем или для понимания взаимосвязей переменных внутри системы.Помощь ученикам в построении значимого сюжета
Я обнаружил, что во многих случаях студенты-новички, изучающие геологию, испытывают трудности с построением графиков и графиков.
- Некоторым сложно выбрать подходящую ось для переменной.
- Размещение на участке упорядоченных пар может вызвать беспокойство у окружающих
- Определение масштаба и обозначение осей цифрами представляет трудности для многих
- Во-первых, что мы пытаемся здесь изобразить?
- Затем решите, какие оси есть … горизонтальное расстояние (в милях или км) по оси x и вертикальный рельеф (в футах или метрах) по оси y.
- Затем определите диапазон высот вдоль интересующего поперечного сечения
- Теперь нам нужно определить приращения по вертикальной шкале.Мы можем сделать это, подумав о нескольких важных вещах:
- Какой интервал между контурами? Могут быть полезны приращения, аналогичные интервалу изолиний.
- Сколько возможных шагов на вашей бумаге?
- Если перепад высот составляет 480 футов и на графике 10 приращений, следует ли строить график с приращениями 48? Насколько это разумно, исходя из вашего интервала изолиний? Было бы проще построить график с шагом 50?
- Наконец, нанесите отметки в соответствующих местах на графике и соедините точки ПЛАВНОЙ кривой.
Данные для печати
Построение упорядоченных пар на декартовой диаграмме может быть трудным для студентов, даже если они, вероятно, делали это много раз в своей академической карьере. Модуль «Обучение с использованием данных» в разделе «Начальная точка» содержит некоторую информацию (и ссылки), описывающие хорошие способы научить студентов рисованию.Вот некоторые важные сведения, которые могут помочь преподавателям убедиться в том, что учащиеся усваивают навыки построения графиков:
- есть две оси — горизонтальная (часто называемая осью x ) и вертикальная (часто называемая осью y ),
- точка на графике обозначается упорядоченной парой (или координатами (например, (3,8)), где:
- первое число относится к горизонтальному положению по оси x ,
- второе число относится к вертикальному положению по оси y ,
- иногда упорядоченные пары перечислены в табличном формате с заголовками, соответствующими меткам на оси
- две оси пересекаются в точке, называемой началом с координатами (0,0),
- причина того, что мы наносим данные на график, заключается в том, чтобы нам было легче наблюдать тенденции или поведение данных (изменено по материалам Anderson and Swanson, 2005 г.)
Описание графиков и графиков
Студенты борются с описанием данных на сюжете.И, тем не менее, это основная причина, по которой мы используем графики данных — для описания данных. Данные можно описать качественно, используя специальную терминологию:
- Часто мы используем слова, которые описывают кривую или линию, образованную данными: например, линейный, экспоненциальный, асимптотический, периодический и т. Д. .
- Сила этих отношений также может быть охарактеризована такими словами, как сильная, умеренная или слабая
- Иногда мы используем такие слова, как увеличение и уменьшение или положительное и отрицательное , чтобы описать взаимосвязь набора данных.
Например: Данные на графике в поле ниже имеют умеренно сильную отрицательную линейную зависимость. Учащиеся могут не иметь четкого представления о том, что означают эти слова, возможно, потребуется объяснить этот словарь (возможно, используя графическое и / или символическое представление). Отправной точкой является обсуждение того, как помочь студентам с описанием данных на графиках.
Во вводных курсах геонаук есть ряд тем, в которых мы ожидаем, что студенты смогут распознать линейные отношения.В моем курсеДанные по основным элементам из нескольких свит магматических пород в Сьерра-Неваде (Wenner and Coleman, 2004) показывают линейный массив и отрицательный наклон.
Студенты также могут рассчитывать, что их попросят провести «наиболее подходящие линии» через линейные (или иногда изогнутые) данные, чтобы предсказать поведение в других ситуациях. Когда студенты борются с этими концепциями, я пытаюсь заставить их сделать шаг назад. Я прошу их описать форму данных. Затем я говорю: «Если бы вам нужно было нарисовать идеально прямую линию, чтобы она проходила через как можно больше точек, как бы вы ее нарисовали? Поместите линейку на бумагу в том месте, где вы хотите ее нарисовать.«По мере того, как они это делают, мы обсуждаем, почему он / она поместил это туда, как эта строка на самом деле описывает данных, и я говорю о том, чтобы с одной или другой стороны было примерно одинаковое количество точек. Если они это сделали правильно, они должны иметь возможность использовать свою строку для чтения / генерации новых данных.Помимо качественных терминов, мы можем описать график, используя математические выражения. Наиболее распространенным (и с которым студенты часто знакомы) является уравнение для линии:
y = mx + b, где m = наклон, а b = точка пересечения по оси y.
Студенты, которые не знакомы с концепцией построения данных на графике, также могут испытывать трудности с математикой описания тенденций и данных. После того, как учащиеся овладеют описательной лексикой тенденций / данных, им может потребоваться дополнительная помощь с более сложными концепциями, используемыми в математическом описании тенденций. См. Страницу «Понимание тенденций» для получения дополнительной информации о математической интерпретации тенденций.
Чтение данных с графиков
Графики данных (и простые отношения между переменными) могут помочь геофизикам понять и предсказать физический способ работы Земли.Нанесение на график известных данных может помочь нам визуализировать поведение систем в ситуациях, которые не были измерены. Ожидается, что учащиеся вводных курсов по геонаукам смогут читать данные с графиков линий (или иногда более сложных математических зависимостей, таких как кривые) для прогнозирования поведения. Если учащиеся понимают концепции, обсужденные выше, они должны уметь генерировать новые данные из графиков известных данных. Пример использования графиков для прогнозирования поведения представлен в разделах прогнозирования на странице SERC по наводнениям и наводнениям.График повторяемости паводков для реки Алси, штат Орегон (данные USGS). Многие студенты моих вводных курсов не могут считывать данные с простого линейного графика. Тем не менее, я ожидаю, что они предсказывают сброс 200-летнего наводнения с участка, подобного изображенному в этой рамке. Некоторые студенты не понимают идеи создания данных из графика — им это кажется слишком простым. Но я объясняю, что нужно просто взять переменную, которую вы хотите знать (200 лет), и определить соответствующее значение для другой переменной, для которой вам известна связь с первой (разряд).Для студентов, которые хорошо изучили алгебру, это может быть так же просто, как указать, что они просто решают уравнение для одной переменной (потому что вы знаете другую переменную).Геологи используют графики множеством простых способов, которые может понять почти любой студент. Графики могут быть визуальным способом предсказания или прогнозирования геологических событий. Но они также используются для понимания поведения систем, для визуализации больших наборов данных и для помощи геологам в понимании многих важных систем, которые может быть нелегко понять, просто взглянув на кучу чисел.Графики — это способ сделать множество точек данных управляемыми и, зачастую, более понятными.
Более продвинутые навыки построения графиков
Навыки, описанные выше, являются базовыми навыками, которые необходимы для многих приложений вводных курсов по геонаукам. Некоторые вводные темы по геонаукам требуют более продвинутых навыков и могут потребовать больших усилий, чтобы научить ваших учеников быстрее. На веб-сайте «Обучение количественным навыкам» есть несколько страниц, которые посвящены этим навыкам:
- Понимание тенденций в данных
- Интерполяция / экстраполяция трендов
- Генерация функций из графиков / данных
Обучающие примеры и упражнения
Графические данные
Модуль в Начальной точке, предназначенный для оказания преподавателям помощи в обучении студентов нанесению данных на графики.Каждая ссылка дает некоторую информацию о важных точках для нанесения точек на графики.Описание графиков
В Start Point есть модуль для описания графиков с рядом хороших ссылок как для преподавателей, так и для студентов. Как и в случае с модулем «Построение графиков», существует ряд полезных ссылок на веб-страницы, посвященные проблемам учащихся с описанием графиков.Мероприятия, направленные на повышение и развитие количественных навыков
Ряд мероприятий, опубликованных на сайте «Количественные навыки в геонауках», разработан, чтобы помочь студентам узнать о построении графиков в контексте геонаук.Некоторые из этих занятий предназначены для учащихся старших классов.Действия начального уровня с использованием Excel
Существуют десятки действий, связанных с использованием Excel, которые доступны как часть отправной точки SERC. Каждое из этих занятий можно загрузить и использовать.ConcepTests с интерпретацией графиков
Есть несколько примеров ConcepTests, которые можно использовать для разбивки лекции в большом классе.Каждый из этих ConcepTests включает в себя интерпретацию графиков, подходящих для начального уровня геонаук.
Ресурсы
информационных ресурсов, готовых к работе в классе | Национальное управление океанических и атмосферных исследований
Анализ траектории движения океана за пределами площадки
9–12 классы и бакалавриат • Руководство для учителя • Ссылки на стандарты
Наблюдайте за перемещением морских слонов, лайсанского альбатроса, северного синего тунца и белых акул из проекта Tagging of Pacific Predators Project (TOPP) на интерактивной карте, удобной для учащихся.На этом сайте есть планы уроков и руководства для учителей для старших классов средней школы и бакалавриата.
Интерактивная карта • Числовые данные • График / рисунок
Климат и данные Действия ACLIPSE за пределами площадки
6–12 классы • Руководство для учителя • Ссылки на стандарты
В этой коллекции используются данные об окружающей среде в реальном времени в самостоятельной деятельности учащихся по изучению мира природы. Учащиеся узнают о круговороте углерода, закислении океана и других явлениях, связанных с изменением климата.Эти модули разработаны с учетом трехмерного подхода к обучению и используют структуру грамотности данных.
Интерактивная карта • Числовые данные • График / рисунок
Данные в классе
5–12 классы • Руководство для учителя • Ссылки на стандарты
Data in the Classroom — это структурированные, ориентированные на учеников планы уроков, в которых используются исторические данные NOAA и данные NOAA в реальном времени. Пять модулей посвящены вопросам исследования и включают поэтапные уровни взаимодействия со сложными запросами с данными в реальном времени и прошлыми данными.
Интерактивная карта • Числовые данные • Спутниковые снимки • График / рисунок • Смоделированные / предсказанные
Данные о засухе и прогнозы за пределами площадки
9–12 классы • Руководство для учителя • Ссылки на стандарты
Этот модуль включает карты данных о засухе в США (2010–2018 гг.) И мира (2013–2018 гг.), А также карты прогнозов риска засухи в США до 2095 г. Учащиеся будут их использовать ресурсы для наблюдения за сезонными моделями и определения риска засухи для различных областей.Это упражнение включает в себя фоновое чтение и вопросы для обсуждения.
Интерактивная карта • Смоделировано / предсказано
Estuaries 101 общесистемная программа мониторинга данных в реальном времени (SWMP)
6–12 классы • Руководство для учителей • Ссылки на стандарты
Estuaries 101 помогает учащимся и учителям расширить свои знания о прибрежных и устьевых водах, а также о том, как эстуарии влияют на их повседневную жизнь. Модули учебной программы в Estuaries 101 включают практические обучающие эксперименты, полевые работы, интерактивные карты и исследования данных с использованием данных из сети NOAA, состоящей из 28 национальных заповедников эстуариев.
Интерактивная карта • Числовые данные • График / рисунок
Рыбалка для информации
9–12 классы • Руководство для учителя • Ссылки на стандарты
В этом уроке используются данные обследований донных рыб Аляски от NOAA Fisheries, чтобы помочь учащимся разработать исследовательский вопрос и понять процесс сбора данных. Студенты используют доказательства, чтобы делать выводы.
Интерактивная карта • Числовые данные
Визуализация данных GLOBE
K — 12-й класс и бакалавриат • Руководство для учителя • Ссылки на стандарты
Просмотр данных, собранных учителями и учащимися, участвующими в программе GLOBE, и долгосрочных наблюдений за температурой воздуха и атмосферными осадками из Глобальной сети исторического климата (GHCN).
Хотя уроки по сбору данных и другой деятельности являются частью веб-сайта GLOBE, конкретные уроки по манипулированию этими данными по этой ссылке не приводятся.
Интерактивная карта • Числовые данные • График / рисунок
Преподавание с помощью внешних источников науки о Великих озерах
4–12 классы • Руководство для учителя • Ссылки на стандарты
Изучите уроки, наборы данных и исследовательские проекты, предназначенные для преподавателей, интересующихся наукой о Великих озерах. Модули можно смешивать и сочетать.FieldScope Великих озер позволяет студентам изучать данные о реках и ручьях, границах водоразделов, политических границах, высоте над уровнем моря и земном покрове.
Числовые данные • График / рисунок
Социальные науки 9 класс Модуль 1: Как меняются общества
В этом модуле учащиеся исследуют вопрос: «Что делает общество справедливым? Как идеи о том, что делает общество справедливым, изменились и остались прежними?» По мере того, как учащиеся узнают о различных средневековых обществах, они читают первоисточники того времени, чтобы проанализировать представления о том, что составляет справедливое общество.Они сосредоточены на универсальных убеждениях о справедливом обществе. В ходе модуля студенты отслеживают, как развивается их собственное представление о справедливом обществе.
Студенты также знакомятся со структурой изучения обществ, которую они будут использовать на протяжении всего модуля: они учатся сортировать информацию об обществе по аспектам правительства, экономики, культуры, окружающей среды и социальных групп. Студенты используют эту структуру для организации своего изучения трех средневековых обществ: древнего Китая, исламской империи и средневековой Европы.Для каждого общества учащиеся изучают вопросы: что такое общество? Что меняет общество? Они развивают и используют причинно-следственное мышление для анализа того, как определенные события изменили общество.
В Модуле 1 студенты создают основу, которая будет поддерживать их работу до конца модуля. Они исследуют вопрос о том, что делает общество справедливым, знакомятся со структурой, которую они будут использовать для изучения общества, и выстраивают процедуры чтения и обсуждения. Затем они начинают изучение древнего Китая.По мере накопления базовых знаний о различных аспектах общества в древнем Китае студенты продолжают практиковаться, используя шесть аспектов общества и протокол Strong Reader. Они также знакомятся с некоторыми инструментами исторического мышления, которые они будут использовать на протяжении всего модуля: интерпретация временных рамок, рассуждения о причине и следствии и анализ первоисточников. Наконец, учащиеся применяют все эти навыки, чтобы понять, как одно событие изменило общество. Они анализируют, как расширение системы экзаменов на государственной службе во время династии Сун повлияло на китайское общество.Они узнают, как составить сильный абзац о причине и следствии, в котором используются соответствующие текстовые доказательства. Они также принимают во внимание убеждения о справедливом обществе, продемонстрированные системой экзаменов на государственной службе и конфуцианским текстом, обычно упоминаемым на экзаменах на государственной службе. Конец блока 1 — это оценка чтения (ориентированная на использование доказательств из текста, определение последовательности и причинно-следственных связей в текстах, а также определение значения неизвестных слов в тексте), а также оценка содержания того, что учащиеся узнали. древнекитайское общество.
В Блоке 2 учащиеся укрепляют навыки, представленные в Блоке 1, поскольку они сначала изучают происхождение и распространение ислама, а затем средневековую Европу. В обоих случаях они сначала используют аспекты структуры общества для создания базовых знаний. Затем они сосредотачиваются на том, как конкретное событие повлияло на это общество. Наконец, они исследуют, что предлагает эта тема, и исследуют то, что делает общество справедливым. Учащиеся начинают сравнивать, как первичные и вторичные источники трактуют один и тот же предмет. В первой части блока 2 студенты изучают происхождение и распространение ислама.Они анализируют, как распространение ислама повлияло на правительство, экономику, культуру и социальные группы. Они также зачитали отрывки из речи Беназир Бхутто, первой женщины-премьер-министра Пакистана, в которой она формулирует, как ислам влияет на ее видение справедливого общества. Оценка на промежуточном этапе 2 касается результатов написания и содержания, поскольку учащиеся по запросу пишут параграф о том, как ислам повлиял на общество, и выполняют более традиционную оценку содержания о происхождении ислама. Во второй части Раздела 2 студенты используют аспекты структуры общества, чтобы узнать о феодальном обществе в средневековой Европе.Затем они изучают Черную смерть и анализируют, как она повлияла на все аспекты этого общества. Они читают отрывки из «Декамерона » Боккаччо, первоисточника, описывающего прибытие Черной смерти во Флоренцию, и рассматривают, как справедливое общество могло бы отреагировать на катастрофу. Конец раздела 2 — это экзамен по чтению, и в нем учащимся предлагается оценить и синтезировать несколько первичных и вторичных источников, связанных с последствиями Черной смерти.
В Блоке 3 студенты обобщают свое понимание ведущего вопроса модуля.Сначала они пишут информационное эссе о том, как Черная смерть повлияла на европейское общество. Модуль включает в себя подробные инструкции по структуре и организации письма. Студенты применяют то, что они узнали об аспектах структуры общества и об анализе того, как событие влияет на общество. Наконец, студенты возвращаются к вопросу о том, как представления о справедливом обществе изменились и остались прежними. Задание на исполнение — это сократовский семинар о том, что делает общество справедливым. Учащиеся подтверждают свое мышление свидетельствами из нескольких первоисточников «голосов социальной справедливости», с которыми они столкнулись в ходе модуля.
Построение графиков на Python | Set 1
Эта серия статей познакомит вас с построением графиков на Python с помощью Matplotlib, который, возможно, является самой популярной библиотекой для построения графиков и визуализации данных для Python.
Установка
Самый простой способ установить matplotlib — использовать pip. Введите в терминале следующую команду:
pip install matplotlib
ИЛИ вы можете загрузить его отсюда и установить вручную.
Начало работы (Построение линии)
plt.show () |
Вывод:
Код кажется очевидным. Были выполнены следующие шаги:
- Определите ось x и соответствующие значения оси y в виде списков.
- Изобразите их на холсте с помощью функции .plot () .
- Дайте имя оси x и оси y с помощью функций .xlabel () и .ylabel () .
- Дайте название своему сюжету с помощью функции .title () .
- Наконец, для просмотра вашего графика мы используем функцию .show () .
Отображение двух или более линий на одном участке
= "строка 1" ) |
Вывод:
- Здесь мы построили две линии на одном графике. Мы различаем их, давая им имя ( метка ), которое передается в качестве аргумента.plot () функция.
- Небольшое прямоугольное поле с информацией о типе линии и ее цвете называется легендой. Мы можем добавить легенду к нашему графику, используя функцию .legend () .
C Настройка участков
Здесь мы обсудим некоторые элементарные настройки, применимые практически к любому участку.
|
title ( |
Вывод:
- Здесь мы используем plt.bar () для построения гистограммы.
- Передаются координаты x левой стороны стержней вместе с высотой стержней.
- вы также можете дать какое-то имя координатам оси x, указав tick_labels
Histogram
|
Вывод:
- Здесь мы используем функцию plt.hist () для построения гистограммы.
- частот передаются как список возрастов .
- Диапазон может быть установлен путем определения кортежа, содержащего минимальное и максимальное значение.
- Следующим шагом является определение диапазона значений « бин », то есть разделение всего диапазона значений на серию интервалов, а затем подсчет количества значений, попадающих в каждый интервал.Здесь мы определили интервалов: = 10. Итак, всего 100/10 = 10 интервалов.
Диаграмма рассеяния
|
Выход:
926Круговая диаграмма
|
Вывод вышеуказанной программы выглядит следующим образом:
- Здесь мы строим круговую диаграмму, используя метод plt.pie () .
- Прежде всего, мы определяем меток , используя список под названием activity .
- Затем часть каждой метки может быть определена с помощью другого списка, называемого срезами .
- Цвет каждой этикетки определяется с помощью списка цветов .
- shadow = True покажет тень под каждой меткой на круговой диаграмме.
- startangle поворачивает начало круговой диаграммы на заданные градусы против часовой стрелки от оси x.
- разнесение используется для установки доли радиуса, на которую мы смещаем каждый клин.
- autopct используется для форматирования значения каждой метки. Здесь мы установили отображение процентного значения только с точностью до 1 знака после запятой.
Графические кривые данного уравнения
903 .arange ( .show () |
Результат вышеупомянутой программы выглядит следующим образом:
Здесь мы используем NumPy , который является универсальным пакетом обработки массивов на Python.
- Чтобы установить значения оси x, мы используем np.Метод arange () , в котором первые два аргумента предназначены для диапазона, а третий - для пошагового приращения. Результатом является большой массив.
- Чтобы получить соответствующие значения оси Y, мы просто используем предопределенный метод np.sin () для массива numpy.
- Наконец, мы строим точки, передавая массивы x и y функции plt.plot () .
Итак, в этой части мы обсудили различные типы графиков, которые мы можем создать в matplotlib. Есть и другие участки, которые еще не были охвачены, но самые важные из них обсуждаются здесь -
Эта статья предоставлена Nikhil Kumar .Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью с помощью provide.geeksforgeeks.org или отправить ее по электронной почте на [email protected]. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.
Пожалуйста, напишите комментарий, если вы обнаружите что-то неправильное, или если вы хотите поделиться дополнительной информацией по теме, обсуждаемой выше.
Внимание компьютерщик! Укрепите свои основы с помощью курса Python Programming Foundation и изучите основы.
Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS . И чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень
Introduction to Box and Whisker Plots
Процентиль - значение переменной, ниже которого падает определенный процент наблюдения.
Медиана - число, которое находится посередине, когда набор чисел упорядочен.Если есть два средних значения, медиана является средним из этих значений.
Диапазон - разница между максимальным и минимальным значениями
Максимум - наибольшее значение, которое встречается в наборе данных
Minimum - наименьшее значение, которое встречается в наборе данных
Выброс - значения, которые стоят отдельно от большей части данных
Quartile - те процентили, которые делят данные на четверти
Первый квартиль - 25-й процентиль
Второй квартиль - 50 -й процентиль или медиана
Третий квартиль - 75 -й процентиль
Межквартильный размах - разница между третьим и первым квартилем
Сводка по пяти числам - наименьшее значение, Q1, медиана, Q3 и наибольшее значение
Этот урок предоставит учащимся возможность прочитать данные в виде прямоугольников и усов и проанализировать результаты.
Учащийся сможет просмотреть график с усами для ящиков и сможет определить сводку из пяти чисел для этого графика.
Учащийся сможет проанализировать график с усами.
Учащийся сможет сравнить два связанных графика ящиков с усами и проанализировать их различия.
Учитель начнет урок с формирующей оценки, чтобы проверить словарный запас, необходимый для этого урока, для проверки понимания. Этот словарь будет включать: процентиль, медиану, диапазон, максимум, минимум, выброс, квартиль, первый квартиль, второй квартиль, третий квартиль, межквартильный размах и пятизначную сводку.Учитель будет использовать Quizlet (www.Quizlet.com), чтобы оценить уровень владения учащимся отмеченным словарным запасом. Основываясь на ответах учащихся из Quizlet, учитель при необходимости пересмотрит словарный запас и повторно его выучит.
Учитель представит следующий веб-сайт: http://illuminations.nctm.org/ActivityDetail.aspx?ID=77. Прямые инструкции будут использоваться, чтобы направлять студентов через процесс анализа первого графика Box Whisker на этом сайте (Сумма, потраченная на студента) как класс.
Затем учащимся будет предложено войти в систему на компьютере индивидуально или группами по два человека.Каждому ученику или группе будет предоставлен рабочий лист (Рабочий лист ученика 1.DOC), который будет использоваться для выполнения задания по построению ящиков и усов с использованием веб-сайта: http://illuminations.nctm.org/ActivityDetail.aspx?ID= 77. Этот рабочий лист проведет студентов через процесс анализа графика ящиков и усов. Наблюдая за успеваемостью учеников, учитель будет контролировать и при необходимости переучивать. Поскольку на этом сайте доступно множество графиков Box and Whisker Plot, это занятие может охватывать два учебных периода, чтобы обеспечить исправление, повторное обучение и дополнительные мероприятия по мере необходимости.Студенты выполнят анализ на рабочем листе в удобном для них темпе.
Для учащихся, демонстрирующих мастерство в содержании, будет предоставлена возможность для дополнительного обогащения: контрольный вопрос для дифференцированного обучения.DOC.
Ближе к концу второго дня учитель проверит ответы учеников на рабочем листе, чтобы убедиться в понимании и усвоении урока.
По завершении урока будет дана итоговая оценка в форме викторины (Summative Assessment.DOC).
Формирующее оценивание будет включать в себя викторину для проверки словарного запаса. Мониторинг учителей посредством неформального наблюдения за успеваемостью учеников на рабочем листе позволит внести коррективы в обучение.
Box Whisker Plot, Quartiles, Interquartile Range, Box Plot, Five Number Summary, saslesson, sastf
Графическое изображение Pythonс помощью Matplotlib (Руководство) - Real Python
Смотреть сейчас В этом руководстве есть связанный видеокурс, созданный командой Real Python.Посмотрите его вместе с письменным руководством, чтобы углубить свое понимание: Python Plotting With Matplotlib
Картинка стоит тысячи слов, а с библиотекой Python matplotlib , к счастью, требуется гораздо меньше тысячи слов кода для создания графики производственного качества.
Однако matplotlib также является огромной библиотекой, и добиться правильного отображения графика часто можно методом проб и ошибок. Использование однострочников для создания базовых графиков в matplotlib довольно просто, но умелое управление оставшимися 98% библиотеки может быть сложной задачей.
Эта статья представляет собой пошаговое руководство по matplotlib для начинающих и среднего уровня, в котором теория сочетается с примерами. Хотя обучение на примерах может быть чрезвычайно полезным, оно помогает иметь даже поверхностное понимание внутренней работы и структуры библиотеки.
Вот что мы расскажем:
- Пилаб и пиплот: что есть что?
- Ключевые концепции дизайна matplotlib
- Понимание
plt.subplots ()
- Визуализация массивов с помощью matplotlib
- Построение с помощью комбинации pandas + matplotlib
В этой статье предполагается, что пользователь немного знаком с NumPy.В основном мы будем использовать модуль numpy.random
для генерации «игрушечных» данных, извлекая выборки из различных статистических распределений.
Если у вас еще не установлен matplotlib, просмотрите здесь пошаговое руководство, прежде чем продолжить.
Почему Matplotlib может сбивать с толку?
Изучение matplotlib временами может быть утомительным процессом. Проблема не в том, что документации по matplotlib не хватает: на самом деле документация обширна. Но следующие проблемы могут вызвать некоторые проблемы:
- Сама библиотека огромна, примерно 70 000 строк кода.
- Matplotlib содержит несколько различных интерфейсов (способов построения фигур) и может взаимодействовать с несколькими различными серверными модулями. (Backends имеют дело с процессом визуализации диаграмм, а не только с внутренней структурой.)
- Несмотря на то, что он является исчерпывающим, часть собственной общедоступной документации matplotlib серьезно устарела. Библиотека все еще развивается, и многие старые примеры, плавающие в Интернете, могут занимать на 70% меньше строк кода в своей современной версии.
Итак, прежде чем мы перейдем к каким-либо блестящим примерам, полезно понять основные концепции дизайна matplotlib.
Pylab: что это такое и нужно ли его использовать?
Давайте начнем с истории. Джон Д. Хантер, нейробиолог, начал разработку matplotlib примерно в 2003 году, первоначально вдохновленный эмуляцией команд из программного обеспечения MATLAB от Mathworks. Джон ушел из жизни трагически молодым в возрасте 44 лет в 2012 году, и теперь matplotlib является полноценной инициативой сообщества, разработанной и поддерживаемой множеством других.(Джон выступил с докладом об эволюции matplotlib на конференции SciPy 2012 года, на которую стоит обратить внимание.)
Одной из важных особенностей MATLAB является его глобальный стиль. Концепция импорта Python не очень широко используется в MATLAB, и большинство функций MATLAB легко доступны пользователю на верхнем уровне.
Знание того, что matplotlib имеет свои корни в MATLAB, помогает объяснить, почему существует pylab. pylab - это модуль в библиотеке matplotlib, который был создан для имитации глобального стиля MATLAB.Он существует только для того, чтобы перенести ряд функций и классов как из NumPy, так и из matplotlib в пространство имен, облегчая переход для бывших пользователей MATLAB, которые не привыкли к необходимости import
операторов.
Ex-MATLAB (которые все хорошие люди, я обещаю!) Понравилась эта функциональность, потому что с из pylab import *
они могли просто вызвать plot ()
или array ()
напрямую, как в MATLAB.
Проблема здесь может быть очевидна для некоторых пользователей Python: использование из pylab import *
в сеансе или скрипте, как правило, является плохой практикой.Matplotlib теперь прямо советует не делать этого в своих собственных руководствах:
«[pylab] все еще существует по историческим причинам, но настоятельно не рекомендуется использовать его. Он загрязняет пространства имен функциями, которые затеняют встроенные модули Python и могут привести к трудно отслеживаемым ошибкам. Чтобы получить интеграцию с IPython без импорта, предпочтительно использовать магию
% matplotlib
». [Источник]
Внутренне существует множество потенциально конфликтующих импортов, замаскированных в пределах короткого источника pylab.Фактически, использование ipython --pylab
(из терминала / командной строки) или % pylab
(из инструментов IPython / Jupyter) просто вызывает из pylab import *
под капотом.
Суть в том, что matplotlib отказался от этого удобного модуля и теперь явно рекомендует не использовать pylab, приводит вещи в большее соответствие с одним из ключевых понятий Python: явное лучше, чем неявное.
Без необходимости в pylab мы обычно можем обойтись только одним каноническим импортом:
>>> >>> import matplotlib.pyplot как plt
Пока мы занимаемся этим, давайте также импортируем NumPy, который мы будем использовать для генерации данных позже, и вызовем np.random.seed ()
, чтобы сделать примеры с воспроизводимыми (псевдо) случайными данными:
>>> импортировать numpy как np
>>> np.random.seed (444)
Иерархия объектов Matplotlib
Одна из важных концепций библиотеки matplotlib - это иерархия объектов.
Если вы проработали какое-либо вводное руководство по matplotlib, вы, вероятно, назвали что-то вроде plt.участок ([1, 2, 3])
. Этот однострочный текст скрывает тот факт, что сюжет на самом деле представляет собой иерархию вложенных объектов Python. «Иерархия» здесь означает, что существует древовидная структура объектов matplotlib, лежащих в основе каждого графика.
A Рисунок
- это самый внешний контейнер для графики matplotlib, который может содержать несколько объектов Axes
. Одним из источников путаницы является название: Axes
фактически переводится в то, что мы думаем как отдельный график или график (а не во множественное число от «оси», как мы могли бы ожидать).
Вы можете представить себе объект Figure
как коробчатый контейнер, содержащий одну или несколько осей
(фактические графики). Под осями
в иерархии расположены более мелкие объекты, такие как отметки, отдельные линии, легенды и текстовые поля. Почти каждый «элемент» диаграммы - это собственный управляемый объект Python, вплоть до отметок и меток:
Вот иллюстрация этой иерархии в действии. Не беспокойтесь, если вы не полностью знакомы с этой нотацией, о которой мы поговорим позже:
>>> >>> fig, _ = plt.подсюжеты ()
>>> тип (рис)
<класс 'matplotlib.figure.Figure'>
Выше мы создали две переменные с plt.subplots ()
. Первый - это объект верхнего уровня Рисунок
. Вторая - это «одноразовая» переменная, которая нам пока не нужна, она обозначена подчеркиванием. Используя обозначение атрибутов, легко пройти вниз по иерархии фигур и увидеть первую отметку оси y первого объекта Axes:
>>> one_tick = рис.оси [0] .yaxis.get_major_ticks () [0]
>>> тип (one_tick)
<класс 'matplotlib.axis.YTick'>
Выше, fig
(экземпляр класса Figure
) имеет несколько Axes
(список, для которого мы берем первый элемент). Каждая ось Axes
имеет оси y
и xaxis
, каждая из которых имеет набор «основных отметок», и мы берем первую из них.
Matplotlib представляет это как анатомию фигуры, а не явную иерархию:
(В истинном стиле matplotlib рисунок выше создан здесь в документации matplotlib.)
Подходы с отслеживанием состояния и подходы без сохранения состояния
Хорошо, нам нужен еще один кусок теории, прежде чем мы сможем перейти к блестящим визуализациям: разница между интерфейсами с отслеживанием состояния (основанный на состоянии, конечный автомат) и без состояния (объектно-ориентированный, объектно-ориентированный).
Выше мы использовали import matplotlib.pyplot как plt
для импорта модуля pyplot из matplotlib и назвали его plt
.
Почти все функции из pyplot, такие как plt.plot ()
, неявно либо ссылаются на существующий текущий рисунок и текущие оси, либо создают их заново, если их нет.В документации matplotlib скрыт этот полезный фрагмент:
«[С pyplot] простые функции используются для добавления элементов графика (линий, изображений, текста и т. Д.) к текущим осям на текущем рисунке ». [курсив мой]
Hardcore ex-MATLAB пользователи могут выразить это, сказав что-то вроде: « plt.plot ()
- это интерфейс конечного автомата, который неявно отслеживает текущую цифру!» На английском это означает, что:
- Интерфейс с отслеживанием состояния выполняет вызовы с использованием
plt.plot ()
и другие функции pyplot верхнего уровня. Существует только одна фигура или ось, которыми вы манипулируете в данный момент времени, и вам не нужно явно ссылаться на нее. - Непосредственное изменение базовых объектов - это объектно-ориентированный подход. Обычно мы делаем это, вызывая методы объекта
Axes
, который является объектом, который представляет сам график.
Поток этого процесса на высоком уровне выглядит так:
Связав их вместе, большинство функций из pyplot также существуют как методы matplotlib.топоры. топоры
кл.
Это легче увидеть, заглянув под капот. plt.plot ()
можно сократить до пяти или около того строк кода:
# matplotlib / pyplot.py
>>> def plot (* args, ** kwargs):
... "" "Сокращенная версия plt.plot ()." ""
... ax = plt.gca ()
... вернуть ax.plot (* args, ** kwargs)
>>> def gca (** kwargs):
... "" "Получить текущие оси текущего рисунка." ""
... вернуть plt.gcf (). gca (** kwargs)
Звонок plt.plot ()
- это просто удобный способ получить текущие оси текущего рисунка и затем вызвать его метод plot ()
. Это то, что подразумевается под утверждением, что интерфейс с отслеживанием состояния всегда «неявно отслеживает» сюжет, на который он хочет ссылаться.
pyplot является домом для набора функций, которые на самом деле являются просто оболочкой вокруг объектно-ориентированного интерфейса matplotlib. Например, для plt.title ()
существуют соответствующие методы установки и получения в рамках объектно-ориентированного подхода, ax.set_title ()
и ax.get_title ()
. (Использование геттеров и сеттеров более популярно в таких языках, как Java, но это ключевая особенность объектно-ориентированного подхода matplotlib.)
Вызов plt.title ()
переводится в одну строку: gca (). Set_title (s, * args, ** kwargs)
. Вот что он делает:
-
gca ()
захватывает текущую ось и возвращает ее. -
set_title ()
- это метод установки, который устанавливает заголовок для этого объекта Axes.«Удобство» здесь в том, что нам не нужно было явно указывать какой-либо объект Axes с помощьюplt.title ()
.
Точно так же, если вы потратите несколько минут, чтобы взглянуть на исходный код функций верхнего уровня, таких как plt.grid ()
, plt.legend ()
и plt.ylabels ()
, вы заметите что все они следуют одной и той же структуре делегирования текущим осям с помощью gca ()
и последующего вызова некоторого метода текущих осей. (Это основной объектно-ориентированный подход!)
Понимание
plt.subplots ()
ОбозначениеХорошо, хватит теории. Теперь мы готовы связать все вместе и поработать над планом. С этого момента мы в основном будем полагаться на объектно-ориентированный подход без сохранения состояния, который более настраиваемый и пригодится по мере усложнения графиков.
Предписанный способ создания фигуры с одной осью в рамках объектно-ориентированного подхода (не слишком интуитивно) - это plt.subplots ()
. Это действительно единственный раз, когда объектно-ориентированный подход использует pyplot
для создания фигуры и осей:
>>> fig, ax = plt.подсюжеты ()
Выше мы использовали итеративную распаковку, чтобы присвоить отдельную переменную каждому из двух результатов plt.subplots ()
. Обратите внимание, что здесь мы не передали аргументы в subplots ()
. Вызов по умолчанию - подзаголовков (nrows = 1, ncols = 1)
. Следовательно, ax
является одним объектом AxesSubplot
:
>>> тип (топор)
<класс 'matplotlib.axes._subplots.AxesSubplot'>
Мы можем вызывать его методы экземпляра для управления графиком аналогично тому, как мы вызываем функции pyplots.Давайте проиллюстрируем на диаграмме с накоплением трех временных рядов:
>>> >>> rng = np.arange (50)
>>> rnd = np.random.randint (0, 10, размер = (3, rng.size))
>>> лет = 1950 + номер
>>> fig, ax = plt.subplots (figsize = (5, 3))
>>> ax.stackplot (yrs, rng + rnd, labels = ['Eastasia', 'Eurasia', 'Oceania'])
>>> ax.set_title ('Совокупный рост долга с течением времени')
>>> ax.legend (loc = 'верхний левый')
>>> ax.set_ylabel ('Общий долг')
>>> топор.set_xlim (xmin = yrs [0], xmax = yrs [-1])
>>> fig.tight_layout ()
Вот что происходит выше:
После создания трех случайных временных рядов мы определили одну фигуру (
fig
), содержащую одну ось (график,ax
).Мы вызываем методы
ax
напрямую, чтобы создать диаграмму с областями с накоплением и добавить легенду, заголовок и метку оси y. При объектно-ориентированном подходе ясно, что все это атрибутыax
.tight_layout ()
применяется к объекту Figure в целом, чтобы убрать заполнение пробелов.
Давайте посмотрим на пример с несколькими подзаголовками (осями) на одном рисунке, построив два коррелированных массива, построенных из дискретного равномерного распределения:
>>> >>> x = np.random.randint (низкий = 1, высокий = 11, размер = 50)
>>> y = x + np.random.randint (1, 5, размер = x.size)
>>> data = np.column_stack ((x, y))
>>> fig, (ax1, ax2) = plt.подзаголовки (nrows = 1, ncols = 2,
... figsize = (8, 4))
>>> ax1.scatter (x = x, y = y, marker = 'o', c = 'r', edgecolor = 'b')
>>> ax1.set_title ('Разброс: $ x $ против $ y $')
>>> ax1.set_xlabel ('$ x $')
>>> ax1.set_ylabel ('$ y $')
>>> ax2.hist (данные, бункеры = np.arange (data.min (), data.max ()),
... метка = ('x', 'y'))
>>> ax2.legend (loc = (0,65, 0,8))
>>> ax2.set_title ('Частоты $ x $ и $ y $')
>>> ax2.yaxis.tick_right ()
В этом примере происходит кое-что еще:
Поскольку мы создаем фигуру «1x2», возвращенный результат
plt.subplots (1, 2)
теперь является объектом Figure и массивом NumPy объектов Axes. (Вы можете проверить это с помощьюfig, axs = plt.subplots (1, 2)
и взглянув наaxs
.)Мы имеем дело с
ax1
иax2
по отдельности, что было бы трудно сделать с помощью подхода с отслеживанием состояния. Последняя строка является хорошей иллюстрацией иерархии объектов, где мы модифицируем осьyaxis
, принадлежащую вторым осям, помещая ее метки и метки справа.Текст внутри знаков доллара использует разметку TeX для выделения переменных курсивом.
Помните, что несколько осей могут быть заключены в данную фигуру или «принадлежать» ей. В приведенном выше случае fig.axes
дает нам список всех объектов Axes:
>>> (fig.axes [0] - это ax1, fig.axes [1] - это ax2)
(Правда правда)
( fig.axes
- это строчные, а не прописные буквы. Нельзя отрицать, что терминология немного сбивает с толку.)
Сделав еще один шаг вперед, мы могли бы в качестве альтернативы создать фигуру, которая содержит сетку 2x2 из объектов Axes
:
>>> fig, ax = plt.subplots (nrows = 2, ncols = 2, figsize = (7, 7))
Итак, что такое ax
? Это уже не один Axes
, а их двумерный массив NumPy:
>>> тип (топор)
numpy.ndarray
>>> топор
массив ([[,
<объект matplotlib.axes._subplots.AxesSubplot в 0x113045c88>],
[<объект matplotlib.axes._subplots.AxesSubplot в 0x11d573cf8>,
<объект matplotlib.axes._subplots.AxesSubplot в 0x1130117f0>]],
dtype = объект)
>>> ax.shape
(2, 2)
Это подтверждается строкой документации:
“
ax
может быть либо одним объектомmatplotlib.axes.Axes
, либо массивом из объектовAxes
, если было создано более одного подзаголовка.”
Теперь нам нужно вызвать методы построения графика для каждой из этих Axes
(но не для массива NumPy, который в данном случае является просто контейнером). Распространенный способ решить эту проблему - использовать итеративную распаковку после преобразования массива в одномерный:
>>> fig, ax = plt.subplots (nrows = 2, ncols = 2, figsize = (7, 7))
>>> ax1, ax2, ax3, ax4 = ax.flatten () # сглаживаем 2d массив NumPy до 1d
Мы также могли бы сделать это с помощью ((ax1, ax2), (ax3, ax4)) = ax
, но первый подход имеет тенденцию быть более гибким.
Чтобы проиллюстрировать некоторые более сложные функции подзаголовка, давайте возьмем некоторые макроэкономические данные о жилье в Калифорнии, извлеченные из сжатого tar-архива, используя io
, tarfile
и urllib
из стандартной библиотеки Python.
>>> из io import BytesIO
>>> импортировать tarfile
>>> из urllib.request import urlopen
>>> url = 'http://www.dcc.fc.up.pt/~ltorgo/Regression/cal_housing.tgz'
>>> b = BytesIO (urlopen (url).читать())
>>> fpath = 'CaliforniaHousing / cal_housing.data'
>>> с tarfile.open (mode = 'r', fileobj = b) в качестве архива:
... корпус = np.loadtxt (archive.extractfile (fpath), delimiter = ',')
Переменная «ответ» и
ниже, если использовать статистический термин, представляет собой среднюю стоимость жилья в районе. человек
и возраст
- это население района и средний возраст дома, соответственно:
>>> y = жилье [:, -1]
>>> поп, возраст = жилье [:, [4, 7]].Т
Затем давайте определим «вспомогательную функцию», которая помещает текстовое поле внутри графика и действует как «заголовок внутри графика»:
>>> >>> def add_titlebox (топор, текст):
... ax.text (.55, .8, текст,
... horizontalalignment = 'центр',
... transform = ax.transAxes,
... bbox = dict (цвет лица = 'белый', альфа = 0,6),
... fontsize = 12,5)
... вернуть топор
Мы готовы поработать над заговором. Модуль gridspec
в Matplotlib позволяет больше настраивать подзаголовок.subplot2grid () pyplot прекрасно взаимодействует с этим модулем. Допустим, мы хотим создать такой макет:
На самом деле, у нас есть сетка 3x2. ax1
в два раза больше высоты и ширины ax2
/ ax3
, что означает, что он занимает два столбца и две строки.
Второй аргумент функции subplot2grid ()
- это положение (строка, столбец) осей в сетке:
>>> размер сетки = (3, 2)
>>> фиг = плт.рисунок (figsize = (12, 8))
>>> ax1 = plt.subplot2grid (размер сетки, (0, 0), colspan = 2, rowspan = 2)
>>> ax2 = plt.subplot2grid (размер сетки, (2, 0))
>>> ax3 = plt.subplot2grid (размер сетки, (2, 1))
Теперь мы можем действовать как обычно, изменяя каждую ось индивидуально:
>>> >>> ax1.set_title ('Стоимость дома как функция возраста и населения района',
... fontsize = 14)
>>> sctr = ax1.scatter (x = возраст, y = pop, c = y, cmap = 'RdYlGn')
>>> плт.цветная полоса (sctr, ax = ax1, format = '$% d')
>>> ax1.set_yscale ('журнал')
>>> ax2.hist (возраст, бункеры = 'авто')
>>> ax3.hist (pop, bins = 'auto', log = True)
>>> add_titlebox (ax2, 'Гистограмма: домашний возраст')
>>> add_titlebox (ax3, 'Гистограмма: население области (log scl.)')
Выше, colorbar ()
(отличается от ColorMap ранее) вызывается непосредственно на рисунке, а не на осях. Его первый аргумент использует Matplotlib .scatter ()
и является результатом ax1.scatter ()
, который функционирует как отображение значений y в ColorMap.
Визуально разница в цвете (переменная y) незначительна при движении вверх и вниз по оси y, что указывает на то, что возраст дома, по-видимому, является более сильным фактором, определяющим стоимость дома.
«Фигурки» за кадром
Каждый раз, когда вы вызываете plt.subplots ()
или менее часто используемый plt.figure ()
(который создает объект Figure без осей), вы создаете новый объект Figure, который matplotlib тайно хранит в памяти.Ранее мы упоминали концепцию текущего рисунка и текущих осей. По умолчанию это последние созданные Figure и Axes, которые мы можем показать с помощью встроенной функции id ()
для отображения адреса объекта в памяти:
>>> fig1, ax1 = plt.subplots ()
>>> id (рис1)
4525567840
>>> id (plt.gcf ()) # `fig1` - текущая цифра.
4525567840
>>> fig2, ax2 = plt.subplots ()
>>> id (fig2) == id (plt.gcf ()) # Текущий рисунок изменился на `fig2`.
Правда
(Здесь также можно использовать встроенный оператор is
.)
После описанной выше процедуры текущая цифра - fig2
, последняя созданная фигура. Однако обе цифры все еще находятся в памяти, каждая с соответствующим идентификационным номером (с индексом 1, в стиле MATLAB):
>>> plt.get_fignums ()
[1, 2]
Полезный способ получить все сами Фигуры - сопоставить plt.figure ()
к каждому из этих целых чисел:
>>> def get_all_figures ():
... return [plt.figure (i) for i в plt.get_fignums ()]
>>> get_all_figures ()
[,
]
Помните об этом, если запускаете скрипт, в котором вы создаете группу фигур. Вам нужно будет явно закрыть каждый из них после использования, чтобы избежать ошибки MemoryError
. Само собой, PLT.close ()
закрывает текущую фигуру, plt.close (num)
закрывает номер фигуры num
, а plt.close ('all')
закрывает все окна фигур:
>>> plt.close ('все')
>>> get_all_figures ()
[]
Цветная вспышка:
imshow ()
и matshow ()
Хотя ax.plot ()
- один из наиболее распространенных методов построения графиков на осях, существует множество других.(Мы использовали ax.stackplot ()
выше. Вы можете найти полный список здесь.)
Наиболее часто используются методы imshow ()
и matshow ()
, причем последний является оболочкой для первого. Они полезны в любое время, когда необработанный числовой массив может быть визуализирован как цветная сетка.
Во-первых, давайте создадим две отдельные сетки с какой-нибудь причудливой индексацией NumPy:
>>> >>> x = np.diag (np.arange (2, 12)) [:: - 1]
>>> x [np.diag_indices_from (x [:: - 1])] = np.arange (2, 12)
>>> x2 = np.arange (x.size) .reshape (x.shape)
Затем мы можем сопоставить их с их изображениями. В этом конкретном случае мы отключаем все метки и отметки осей, используя понимание словаря и передавая результат в ax.tick_params ()
:
>>> side = ('слева', 'справа', 'сверху', 'снизу')
>>> nolabels = {s: False for s in side}
>>> nolabels.update ({'label% s'% s: false для s в сторонах})
>>> печать (без меток)
{'left': Ложь, 'right': Ложь, 'top': Ложь, 'bottom': Ложь, 'labelleft': Ложь,
labelright: False, labeltop: False, labelbottom: False}
Затем мы можем использовать диспетчер контекста, чтобы отключить сетку, и вызвать matshow ()
для каждой оси.Наконец, нам нужно поместить цветовую панель в то, что технически является новой осью в пределах рис.
. Для этого мы можем использовать немного эзотерической функции из глубины matplotlib:
>>> from mpl_toolkits.axes_grid1.axes_divider import make_axes_locatable
>>> с plt.rc_context (rc = {'axes.grid': False}):
... fig, (ax1, ax2) = plt.subplots (1, 2, figsize = (8, 4))
... ax1.matshow (x)
... img2 = ax2.matshow (x2, cmap = 'RdYlGn_r')
... для ax in (ax1, ax2):
... ax.tick_params (axis = 'both', which = 'both', ** nolabels)
... для i, j в zip (* x.nonzero ()):
... ax1.text (j, i, x [i, j], color = 'белый', ha = 'center', va = 'center')
...
... делитель = make_axes_locatable (ax2)
... cax = diverr.append_axes ("right", size = '5%', pad = 0)
... plt.colorbar (img2, cax = cax, ax = [ax1, ax2])
... fig.suptitle ('Тепловые карты с Axes.matshow', fontsize = 16)
График в пандах
Библиотека pandas стала популярной не только из-за возможности мощного анализа данных, но и из-за удобных заранее подготовленных методов построения графиков.Интересно, однако, что методы построения pandas на самом деле просто удобные оболочки для существующих вызовов matplotlib.
То есть, метод plot (),
в серии pandas и DataFrame является оболочкой вокруг plt.plot ()
. Например, одно удобство заключается в том, что если индекс DataFrame состоит из дат, gcf (). Autofmt_xdate ()
вызывается внутренне пандами для получения текущего рисунка и автоматического форматирования оси x.
В свою очередь, помните, что plt.plot ()
(подход на основе состояний) неявно осведомлен о текущем рисунке и текущих осях, поэтому pandas следует за подходом на основе состояний путем расширения.
Мы можем доказать эту «цепочку» вызовов функций с небольшим самоанализом. Во-первых, давайте создадим серию простых ванильных панд, предполагая, что мы начинаем с нового сеанса интерпретатора:
>>> >>> импортировать панд как pd
>>> s = pd.Series (np.arange (5), index = list ('abcde'))
>>> топор = с.участок()
>>> тип (топор)
>>> id (plt.gca ()) == id (топор)
Правда
Эту внутреннюю архитектуру полезно знать, когда вы смешиваете методы построения графиков pandas с традиционными вызовами matplotlib, что делается ниже при построении скользящего среднего широко наблюдаемого финансового временного ряда. ma
- это серия pandas, для которой мы можем вызвать ma.plot ()
(метод pandas), а затем настроить, получив оси, созданные этим вызовом ( plt.gca ()
), для ссылки на matplotlib:
>>> импортировать панд как pd
>>> импортировать matplotlib.transforms как mtransforms
>>> url = 'https://fred.stlouisfed.org/graph/fredgraph.csv?id=VIXCLS'
>>> vix = pd.read_csv (url, index_col = 0, parse_dates = True, na_values = '.',
... infer_datetime_format = Верно,
... squeeze = Истина) .dropna ()
>>> ma = vix.rolling ('90d'). mean ()
>>> state = pd.cut (ma, bins = [- np.инф, 14, 18, 24, np.inf],
... метки = диапазон (4))
>>> cmap = plt.get_cmap ('RdYlGn_r')
>>> ma.plot (color = 'black', linewidth = 1.5, marker = '', figsize = (8, 4),
... label = 'VIX 90d MA')
>>> ax = plt.gca () # Получить текущие оси, на которые ссылается ma.plot ()
>>> ax.set_xlabel ('')
>>> ax.set_ylabel ('90-дневная скользящая средняя: CBOE VIX')
>>> ax.set_title ('Состояние режима волатильности')
>>> ax.grid (Ложь)
>>> ax.legend (loc = 'верхний центр')
>>> топор.set_xlim (xmin = ma.index [0], xmax = ma.index [-1])
>>> trans = mtransforms.bleded_transform_factory (ax.transData, ax.transAxes)
>>> для i, цвет в enumerate (cmap ([0.2, 0.4, 0.6, 0.8])):
... ax.fill_between (ma.index, 0, 1, где = состояние == i,
... цвет лица = цвет, преобразование = транс)
>>> ax.axhline (vix.mean (), linestyle = 'dashed', color = 'xkcd: темно-серый',
... альфа = 0,6, метка = 'Среднее за весь период', маркер = '')
Выше много чего происходит:
ma
- это 90-дневная скользящая средняя индекса VIX, мера рыночных ожиданий краткосрочной волатильности акций.Состояниеcmap
- это ColorMap - объект matplotlib, который, по сути, является отображением поплавков в цвета RGBA. Любую цветовую карту можно перевернуть, добавив'_r'
, поэтому'RdYlGn_r'
- это перевернутая цветовая карта красный-желтый-зеленый. В документации Matplotlib есть удобный визуальный справочник по ColorMaps.Единственный реальный вызов панд, который мы здесь делаем, - это
ma.plot ()
. Это вызывает внутри себяplt.plot ()
, поэтому для интеграции объектно-ориентированного подхода нам нужно получить явную ссылку на текущие оси сax = plt.gca ()
.Второй фрагмент кода создает блоки с цветовой заливкой, которые соответствуют каждой ячейке
состояния
.cmap ([0,2, 0,4, 0,6, 0,8])
говорит: «Получите последовательность RGBA для цветов в 20-м, 40-м, 60-м и 80-м« процентилях »по спектру ColorMaps.”enumerate ()
используется, потому что мы хотим отобразить каждый цвет RGBA обратно в состояние.
Pandas также поставляется со встроенным набором более сложных сюжетов (которые сами по себе могут занять целый учебник). Однако все они, как и их более простые аналоги, внутренне полагаются на механизм matplotlib.
Завершение
Как показывают некоторые из приведенных выше примеров, нельзя обойти стороной тот факт, что matplotlib может быть технической библиотекой с тяжелым синтаксисом.Для создания готовой к производству диаграммы иногда требуется полчаса поиска в Google и комбинирования мешанины строк для точной настройки графика.
Однако понимание того, как взаимодействуют интерфейсы matplotlib, - это вложение, которое может окупиться в будущем. Как советовал Дэн Бейдер из Real Python, потратить время на анализ кода, а не прибегать к решению «копировать макароны» Stack Overflow, как правило, является более разумным долгосрочным решением. Придерживаясь объектно-ориентированного подхода, вы можете сэкономить часы разочарования, если вы захотите превратить сюжет из простого в произведение искусства.
Дополнительные ресурсы
Из документации matplotlib:
- Индекс примеров matplotlib
- FAQ по использованию
- Страница с обучающими материалами, разделенная на разделы для начинающих, среднего и продвинутого уровней
- Жизненный цикл сюжета, который затрагивает объектно-ориентированный подход и подход с отслеживанием состояния
Сторонние ресурсы:
Другие графические библиотеки:
- Библиотека seaborn, построенная на основе matplotlib и предназначенная для расширенной статистической графики, которая сама по себе может занять весь учебник
- Datashader, графическая библиотека, специально предназначенная для больших наборов данных
- Список других сторонних пакетов из документации matplotlib
Приложение A: Конфигурация и стиль
Если вы следовали этому руководству, вполне вероятно, что графики, появляющиеся на вашем экране, стилистически выглядят иначе, чем показанные здесь.
Matplotlib предлагает два способа настройки стиля единообразно для разных графиков:
- Путем настройки файла matplotlibrc
- Путем изменения параметров конфигурации в интерактивном режиме или из сценария .py .
Файл matplotlibrc (вариант №1 выше) - это, по сути, текстовый файл, определяющий пользовательские настройки, которые запоминаются между сеансами Python. В Mac OS X он обычно находится по адресу ~ / .matplotlib / matplotlibrc .
Подсказка: GitHub - отличное место для хранения файлов конфигурации. Я держу здесь свой. Просто убедитесь, что они не содержат личную или конфиденциальную информацию, такую как пароли или закрытые ключи SSH!
В качестве альтернативы вы можете изменить параметры конфигурации в интерактивном режиме (вариант № 2 выше). Когда вы импортируете matplotlib.pyplot как plt
, вы получаете доступ к объекту rcParams
, который напоминает словарь настроек Python. Все объекты модуля, начинающиеся с «rc», являются средством взаимодействия с вашими стилями и настройками графика:
>>> [attr для attr в каталоге (plt), если attr.начинается с ('rc')]
['rc', 'rcParams', 'rcParamsDefault', 'rc_context', 'rcdefaults']
из них:
-
plt.rcdefaults ()
восстанавливает параметры rc из внутренних значений по умолчанию matplotlib, которые перечислены вplt.rcParamsDefault
. Это вернет (перезапишет) все, что вы уже настроили в файле matplotlibrc. -
plt.rc ()
используется для интерактивной настройки параметров. -
plt.rcParams
- это (изменяемый) объект, подобный словарю, который позволяет напрямую управлять настройками.Если вы изменили настройки в файле matplotlibrc, они будут отражены в этом словаре.
С plt.rc ()
и plt.rcParams
эти два синтаксиса эквивалентны для настройки параметров:
>>> plt.rc ('lines', linewidth = 2, color = 'r') # Синтаксис 1
>>> plt.rcParams ['lines.linewidth'] = 2 # Синтаксис 2
>>> plt.rcParams ['lines.color'] = 'r'
Примечательно, что класс Figure затем использует некоторые из них в качестве аргументов по умолчанию.
Соответственно, стиль - это просто заранее определенный набор пользовательских настроек. Для просмотра доступных стилей используйте:
>>> >>> plt.style.available
['seaborn-dark', 'seaborn-darkgrid', 'seaborn-ticks', 'пятьдесят восемь',
'seaborn-whitegrid', 'classic', '_classic_test', 'быстрый', 'seaborn-talk',
«морская-темная-палитра», «морская-яркая», «морская-пастельная», «оттенки серого»,
'seaborn-notebook', 'ggplot', 'seaborn-colorblind', 'seaborn-приглушенный',
'seaborn', 'Solarize_Light2', 'seaborn-paper', 'bmh', 'морской-белый',
'dark_background', 'seaborn-poster', 'seaborn-deep']
Чтобы задать стиль, позвоните по номеру:
>>> >>> plt.style.use ('пятьсот тридцать восемь')
Ваши участки теперь приобретут новый вид:
Этот полный пример доступен здесь.
Для вдохновения в matplotlib также есть несколько дисплеев таблиц стилей для справки.
Приложение B: Интерактивный режим
За кулисами matplotlib также взаимодействует с различными серверными модулями. Бэкэнд - это рабочая лошадка, стоящая за фактическим рендерингом диаграммы. (Например, в популярном дистрибутиве Anaconda бэкэнд по умолчанию - Qt5Agg.) Некоторые серверные ВМ являются интерактивными, то есть они динамически обновляются и «всплывают» для пользователя при изменении.
Хотя интерактивный режим по умолчанию отключен, вы можете проверить его статус с помощью plt.rcParams ['interactive']
или plt.isinteractive ()
, а также включить и выключить его с помощью plt.ion ()
и plt.ioff ()
соответственно:
>>> plt.rcParams ['interactive'] # или: plt.isinteractive ()
Правда
>>> >>> plt.ioff ()
>>> plt.rcParams ['интерактивный']
Ложь
В некоторых примерах кода вы можете заметить присутствие plt.show ()
в конце фрагмента кода. Основная цель plt.show ()
, как следует из названия, состоит в том, чтобы фактически «показать» (открыть) рисунок, когда вы работаете с выключенным интерактивным режимом. Другими словами:
- Если включен интерактивный режим,
plt.show ()
не требуется, и изображения будут автоматически всплывать и обновляться, когда вы на них ссылаетесь. - Если интерактивный режим выключен, вам понадобится
plt.show ()
для отображения фигуры иplt.draw ()
для обновления графика.
Ниже мы убеждаемся, что интерактивный режим выключен, что требует, чтобы мы вызывали plt.show ()
после построения самого графика:
>>> plt.ioff ()
>>> x = np.arange (-4, 5)
>>> у1 = х ** 2
>>> у2 = 10 / (х ** 2 + 1)
>>> fig, ax = plt.subplots ()
>>> топор.plot (x, y1, 'rx', x, y2, 'b +', linestyle = 'solid')
>>> ax.fill_between (x, y1, y2, где = y2> y1, interpolate = True,
... цвет = 'зеленый', альфа = 0,3)
>>> lgnd = ax.legend (['y1', 'y2'], loc = 'верхний центр', тень = True)
>>> lgnd.get_frame (). set_facecolor ('# ffb19a')
>>> plt.show ()
Примечательно, что интерактивный режим не имеет никакого отношения к используемой вами среде IDE или к тому, включили ли вы встроенное построение с помощью чего-то вроде jupyter notebook --matplotlib inline
или % matplotlib
.
Смотреть сейчас В этом руководстве есть связанный видеокурс, созданный командой Real Python. Посмотрите его вместе с письменным руководством, чтобы углубить свое понимание: Python Plotting With Matplotlib
Вы готовы? | п. 224 | ||
Понимание словаря | с.225 | ||
8,1 | Решение систем линейных уравнений с помощью построения графиков | Твоя очередь | п. 229 |
Практическое руководство | п.232 | ||
Независимая практика | с.233 | ||
8,2 | Решение систем заменой | Твоя очередь | п.236 |
Практическое руководство | п.240 | ||
Независимая практика | п.241 | ||
8.3 | Решение систем методом исключения | Твоя очередь | п.244 |
Практическое руководство | п.248 | ||
Независимая практика | п.249 | ||
8,4 | Решение систем методом исключения с умножением | Твоя очередь | с.252 |
Практическое руководство | п.256 | ||
Независимая практика | п.257 | ||
8,5 | Решение особых систем | Твоя очередь | п.259 |
Практическое руководство | с.262 | ||
Независимая практика | п.263 | ||
Готовы продолжить? | п. 265 | ||
Смешанный обзор | п. 266 | ||
Обзор руководства: модуль 7 | с.268 | ||
Задачи производительности | п. 270 | ||
Обзор руководства: модуль 8 | п. |