Иллюстрированный самоучитель по Mathematica


Построение графиков с окраской внутренних областей — FilledPlot


Многие графики сильно выигрывают при их построении с закраской. Например, чтобы проиллюстрировать значение определенного интеграла от какой-то функции f(x), достаточно просто закрасить ее график в диапазоне изменения х от нижнего предела интегрирования а до верхнего b. Для построения подобных графиков в подпакете FilledPlot имеется ряд полезных функций.

Начнем их описание с основных:

  • FilledPlot [f, {х, xmin, xmax} ] — строит график функции/(x) с окраской площадей, образованных линией функции и горизонтальной осью х. По умолчанию действуют опции Fills->Automatic и Curves->Back (то есть кривые строятся на заднем плане, при значении Front построение фигур производится на переднем плане);
  • FilledPlot [{ fl, f2,...}, {х, xmin, xmax} ] — строит графики функций с выделением областей между ними разной окраской (цвет задается автоматически).

Поясним применение этих функций рядом примеров. Перед этим надо не забыть загрузить подпакет командой

<< Graphics`FilledPlot`

На рис. 14.15 показано построение смещенной по оси у экспоненты с закраской области между линией экспоненты и горизонтальной осью х.

Построение графиков с окраской внутренних областей — FilledPlot

Рис. 14.15. Построение экспоненты с закраской областей между ней и осью абсцисс

Действие функции FilledPlot при построении графиков трех функций показано на рис. 14.16. Здесь использована опция Curves->Front, выводящая построение кривых на первый план, благодаря чему отчетливо видны разделительные линии перекрывающихся областей.

Построение графиков с окраской внутренних областей — FilledPlot

Рис. 14.16. Построение трех кривых с закраской областей между ними и осью абсцисс

Еще один пример построения графиков трех фигур показан на рис. 14.17. Здесь для закраски областей между фигурами и осью абсцисс использована опция Fills и директива GrayLevel (окраска серым цветом заданной плотности).

Рисунок 14.18 иллюстрирует закраску областей совместного применения двух функций, одна из которых — корень квадратный из х - 1 — определена только для И > 1. Именно эта область и закрашена.

Построение графиков с окраской внутренних областей — FilledPlot

Рис. 14.17. Построение трех кривых с закраской серым цветом


Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.18. Пример закраски области совместного действия двух функций

Имеется также ряд специальных функций для построения кривых с окраской образуемых ими областей:

  • FilledListPlot [ {yl, у2,...} ] —строит графики с окраской, меняющейся между кривыми {1, y1}, {2, у2 } и осью абсцисс х;
  • FilledListPlot [ {{xl, yl}, {х2, у2},...}] — строит графики ряда кривых с окраской, заданной {xi,yi} и осью абсцисс х;
  • FilledListPlot [datal, data2,...}] — строит графики ряда кривых с закраской областей, специфицированных данными datai.
Применение функции FilledListPlot показано на рис. 14.19.

Иногда важное значение может иметь опция AxesFront->Значение. При значении этой опции False область закраски закрывает соответствующую часть осей, а при значении True оси выводятся поверх закраски. Сам по себе вывод осей задастся опцией Axes->True. При Axes->False они вообще не выводятся. Рисунок 14.20 поясняет вывод осей и их построение поверх закращениой области.

В данном случае область окраски ограничена треугольником, который строится как полигон. Если установить опцию AxesFront->False, то часть осей (внутри треугольника) будет не видна.

Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.19. Пример применения функции FilledListPlot

Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.20. Пример вывода осей поверх закрашенной области

 

Графики специальных типов — Graphics

Подпакет Graphics задает ряд функций для построения специальных графиков, например с логарифмическими и полулогарифмическими масштабами, с нанесенными на кривые точками, графиков в виде гистограмм и т. д. Такие графики широко применяются для визуализации не только математических и физических, но также финансовых и экономических расчетов. К примеру, функция Log-Plot [f, {х,xmin,xmax}] строит линейно-логарифмический график/(x) при изменении х от xmin до xmax. Список таких функций дан в приложении.

Ввиду очевидности этих функций ограничимся одним примером — построением экспоненциальной функции в полулогарифмическом масштабе (по оси у масштаб логарифмический, а по оси х~ линейный).


Как видно из рис. 14.21, график вырождается в прямую линию.

Для построения графиков в полярной системе координат заданы следующие функции:

  • PolarPlotff, {t, tmin, tmax} ] — строит график функции в полярной системе координат как положение конца радиус-вектора f при изменении угла t от tmin до tmax;
  • PolarPlot [ { f 1, f 2,...}]- строит графики ряда функций f 1, f 2,... в полярной системе координат;
  • PolarListPlot [ {rl, r2,...} ] — строит график списка радиусов ri, равномерно изменяя угловую координату.
Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.21. Построение графика экспоненты в полулогарифмическом масштабе

Построение графика трех функций в полярной системе координат с помощью функции PolarPlot представлено на рис. 14.22.

Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.22. Построение графиков трех функций в полярной системе координат

В ряде случаев удобно представление данных в виде столбцовых и круговых диаграмм. Для построения столбцовых диаграмм служат функции, описанные ниже:

  • BarChart [datalistl,datalist2,...] — строит столбцовую диаграмму по данным списков, располагая столбцы рядом и обеспечивая их автоматическую закраску цветом (рис. 14.23).
Здесь любопытно отметить, что списки данных могут иметь разную длину. Число столбцов задается большим списком. Отсутствующие данные у спис-

ков меньшей длины считаются нулевыми, и для них столбцы не строятся. Данные, представленные отрицательными числами, строятся как столбцы, обращенные вниз.

Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.23. Построение столбцовых диаграмм для двух списков данных с расположением столбцов друг рядом с другом

  • StackedBarChart [datalist1, datalist2,...] — строит столбцовую диаграмму, располагая столбцы одних данных над столбцами других данных (рис. 14.24) с автоматическим выбором цветов для каждого набора данных.
Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.24. Построение столбцовых диаграмм со столбцами, расположенными друг над другом

В этой столбцовой диаграмме вначале строятся столбцы, представляющие данные для первого списка, над ними надстраиваются столбцы новых данных, так что общая высота столбцов пропорциональна сумме численных значений i-x элементов списков.



  • PercentileBarChart [datalistl, datalist2,...] — строит столбцовую диаграмму, отображающую нормированные данные в процентах (рис. 14.25).
Здесь построение идет так же, как в предыдущем случае. Однако высоты столбцов указываются в процентах и нормируются — за 100 % принимается максимальная высота столбцов выше горизонтальной оси, а за -100 % — максимальная высота столбца ниже горизонтальной оси.

  • GeneralizedBarChart [datalistl, datalist2,...] — строит столбцовую диаграмму с заданной высотой и шириной столбцов (рис. 14.26).
Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.25. Построение столбцовых диаграмм с процентным отсчетом

Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.26. Построение столбцовых диаграмм с произвольной шириной столбцов

В этом случае имеется возможность указать в списках данных позицию по оси х, высоту столбца и его ширину. Ширина задается в относительных единицах: при ширине, равной 1, столбцы сливаются (но выделяются цветом), при величине меньше 1 они разделяются пустыми промежутками, а при величине, большей 1, столбцы перекрываются.

Все указанные функции имеют опции, существенно влияющие на вид диаграмм. Рекомендуется просмотреть их с помощью функции Options. Ограничимся тремя наглядными примерами на применение опций. Рисунок 14.27 показывает построение столбцовой диаграммы с горизонтальным расположением столбцов и произвольным выбором цвета для каждого набора.

На рис. 14.28 построена диаграмма для одного комплекта данных. Но выбор цвета каждого из столбцов задается с помощью условного оператора. На рис. 14.29 показан наиболее сложный пример построения столбцовых диаграмм. Наряду с цветовыми эффектами задается обвод пунктирной линией столбцов одного из комплектов данных и, главное, — вывод надписей (названий месяцев) под наборами столбцов. Обратите внимание на то, что надписи могут быть на русском языке.

Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.27. Построение столбцовой диаграммы с горизонтально расположенными столбцами и произвольным выбором цвета для каждого набора данных

Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.28. Столбцовая диаграмма с выбором цвета столбцов по условию



Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.29. Комплексное построение столбцовых диаграмм

Следующая функция позволяет стоить круговые диаграммы. Они наиболее удобны, когда оцениваются относительные величины, при этом сумма данных соответствует площади круга:

  • PieChart [data] — строит круговые диаграммы по данным data (рис. 14.30). Тип диаграммы задается опциями, список которых и значения по умолчанию можно получить командой Options [PieChart]. Одна из опций— PieExploded — позволяет отделить заданный сектор от диаграммы, что порой повышает наглядность представления данных.
Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.30. Построение набора круговых диаграмм Здесь использована также одна из следующих функций:

  • DisplayTogether [plotl,plot2,..., opts] — строит комбинированный графический объект, объединяя графики ploti в общих координатных осях;
  • DisplayTogetherArray [plotl,plot2,..., opts] — строит комбинированный графический объект, выводя графики ploti в виде массива.
На рис. 14.31 показано построение круговой диаграммы с применением окраски чередующихся секторов оттенками серого цвета.

Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.31. Построение круговой диаграммы с раскраской чередующихся секторов оттенками серого цвета

Еще одну возможность разнообразить круговые диаграммы иллюстрирует рис. 14.32. Здесь показано, что в секторы можно заносить небольшие надписи, например имена людей, даты и т. д.

Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.32. Построение круговой диаграммы с надписями внутри секторов

Функция DisplayTogether позволяет объединять графики разного типа. На рис. 14.33 показано построение графика экспериментальных точек и линий линейной и параболической регрессии.

Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.33. Совместное построение исходных точек данных и линий линейной и параболической регрессии

Применение функции DisplayTogetherArray для построения трех круговых диаграмм с номерами секторов показано на рис. 14.34. Это те же диаграммы, что и на рис. 14.30, но аргумент функции DisplayTogetherArray на сей раз представляет собой не одномерный, а двумерный массив (в первой строке два графика, во второй — один).



Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.34. Построение трех круговых диаграмм с номерами секторов

Иногда нужно использовать в качестве точек графика цифры. Это реализует следующая функция, имеющая три формы:

  • TextListPlot [ {y1, у2,...} ] — построение точек с ординатами yi и абсциссами 1, 2, ... с представлением их числами 1, 2, ... (рис. 14.35);
  • TextListPlot [ {{xl, yl}, {х2, у2},...} ] — построение точек с координатами {xi, yi} и представлением их числами 1, 2, ...;
  • TextListPlot [ {{xl, yl, exprl), {x2,y2,expr2 },...}] — построение точек с координатами {xi, yi} и представлением их числами, заданными выражениями expri.
Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.35. Построение графика сточками, представленными цифрами

Еще одна функция, также имеющая три формы, дает тот же результат, но дополнительно строит и сами точки:

LabelListPlot [ {yl, у2,...} ] LabelListPlot [{ {xl,yl}, {х2,у2 },...}] LabelListPlot [{ {x1, y1, expr1}, {х2, у2, expr2 },...}]

Наконец, есть еще одна функция:

  • ErrorListPlot [{{yl, dl}, {y2, d2 },...}] — построение графика точек yi с зонами ошибок di (рис. 14.36).
Построение графиков с окраской внутренних областей — FilledPlot


Рис. 14.36. График с точками и зонами ошибок

Таким образом, подпакет Graphics обеспечивает построение наиболее распространенных типов графиков, используемых в научно-технической и финансово-экономической литературе.

Построение графиков с окраской внутренних областей — FilledPlot
Построение графиков с окраской внутренних областей — FilledPlot
Построение графиков с окраской внутренних областей — FilledPlot


Содержание раздела