§ 15. Построение графиков функций и диаграмм
Сайт: | Профильное обучение |
Курс: | Информатика. 11 класс (Повышенный уровень) |
Книга: | § 15. Построение графиков функций и диаграмм |
Напечатано:: | Гость |
Дата: | Суббота, 4 Май 2024, 13:22 |
15.1. Построение графиков функций
Пример 15.1. Создать проект, в котором следует построить график функции y = x sinx на промежутке, заданном пользователем. Этапы выполнения задания
6.1. Нарисовать оси координат в виде двух перпендикулярных линий, которые пересекаются в центре компонента Image. Если в работающем приложении изменить концы промежутка, то график будет порисован поверх уже имеющегося (пример 15.2). |
Пример 15.1. Форма на этапе конструирования: Обработчик события OnClick для компонента Button1.
Работающее приложение: Пример 15.2. Изменение начальных значений концов промежутка: Чтобы избежать такой ситуации, перед построением графика нужно очистить компонент. Для этого можно использовать команду: Image1 -> Picture = NULL; |
15.2. Построение диаграмм
Рассмотрим основные принципы построения гистограмм на примерах построения гистограммы и круговой диаграммы. Интерактивность в данном случае обеспечивается данными в файле. Пример 15.3. Создать проект, в котором необходимо построить гистограмму по данным из массива из n элементов. Значения элементов массива считать из текстового файла. Текстовый файл поместить в папку Win32\Debug. В этом случае для доступа к файлу достаточно прописать имя файла. Если файл хранится в другом месте, то для доступа к файлу необходимо прописать полный путь. Этапы выполнения задания
4.1. Считать данные из файла в массивы: массив d — хранит числа, по которым строится диаграмма; массив s — подписи элементов. Для работы с файлами подключить библиотеку <fstream>. Для чтения строк из файла подключить библиотеку <string>, для работы с. массивами — библиотеку <vector>. Прописать директиву Using NameSpace std для обращения к командам стандартных библиотек. Пример 15.4. Создать проект, в котором нужно построить круговую диаграмму по данным из массива. Значения элементов массива считать из текстового файла. Текстовый файл поместить в папку Win32\Debug.
5.1. Считать данные из файла в массив. |
Пример 15.3. Форма на этапе конструирования: Текстовый файл с данными: Подключение библиотек: Обработчик события OnClick для компонента Button1.
Работающее приложение: Пример 15.4. Форма на этапе конструирования: Расчет ключевых точек для построения сектора: Величина угла u2 соответствует текущему значению данных из массива и равна . Величина угла u1 — суммарное значение углов для уже построенных секторов. Вначале u1 = 0. Значения x3 и y3 — катеты прямоугольного треугольника с углом u1 и гипотенузой равной радиусу круга, поэтому x3 = R cos u1, y3 = R sin u1. Аналогично определяем x4 и y4: y4 = R cos (u1 + u2), y4 = R sin (u1 + u2). Обработчик события OnClick для компонента Button1.
Работающее приложение: |
15.3. Использование компонента Chart (Диаграмма) для построения графиков функций и диаграмм
С помощью компонента Chart (Диаграмма) можно строить красивые двух- и трехмерные диаграммы на основе различных данных. Компонент Chart находится на палитре TeeChart STD и изображен в виде . Компонент Chart, помещенный на форму, получает имя ChartN, где N — номер 1, 2, 3… (пример 15.5) Настройка диаграммы выполняется с помощью редактора, который вызывается двойным щелчком по компоненту (пример 15.6). Параметры отображения диаграммы в окне определяются в разделе Chart, состоящей в свою очередь из набора дополнительных подразделов (General, Axis, Title, Legend, Panal, Walls, 3D). Подробнее о настройке подразделов можно почитать в приложении. Компонент Chart является контейнером объектов Series — серий данных, которые могут быть визуализированы с помощью различных графических представлений. Свойства серий устанавливаются с помощью редактора диаграмм или непосредственно в программном коде. Для добавления серии используется кнопка Add. Затем происходит выбор внешнего вида диаграммы (пример 15.7) и настройка параметров ее отображения. При добавлении серия получает имя SeriesN, где N — номер 1, 2, 3… Все серии добавляются на диаграмму со случайными данными, поэтому при программной обработке серию необходимо очистить командой: Series1 -> Clear(); Для добавления данных в серию используется метод Add. Если данные должны отображаться в декартовой системе координат, то используют метод AddXY (пример 15.8). При использовании компонента Chart масштабирование выполняется автоматически. Пример 15.9. Создать проект, в котором необходимо построить гистограмму по данным из файла. Для построения диаграммы следует использовать компонент Chart. Этапы выполнения задания
Пример 15.10. Создать проект, в котором необходимо построить графики функций y = x cosx и в одной системе координат. Для построения диаграммы следует использовать компонент Chart. Этапы выполнения задания
*Пример 15.11. Создать проект, в котором необходимо построить астроиду, заданную параметрическими уравнениями: . Для построения диаграммы использовать компонент Chart. Этапы выполнения задания
|
Пример 15.5. Компонент Chart на форме: Пример 15.6. Редактор диаграммы: Пример 15.7. Выбор типа диаграммы: Пример 15.8. Методы добавления данных в серию: Series1->Add(z, s, color); Параметры: z — число, соответствующее значению данных; s — подпись данных; color — цвет. Series1-> AddXY(x,y,"",color); Параметры: x, y — координаты отображаемой точки в декартовой системе координат; "" — здесь может быть текст подписи к точке; color — цвет. Параметр color может быть опущен. В этом случае цвет элемента диаграммы определяется настройками редактора. Пример 15.9. Форма на этапе конструирования: Обработчик события OnClick для кнопки.
Работающее приложение: Пример 15.10. Форма на этапе конструирования: Изменение названия серии: Обработчик события OnClick для кнопки
Работающее приложение: Пример 15.11. Форма на этапе конструирования: Обработчик события OnClick для кнопки.
Работающее приложение: |
пример
Вопросы к параграфу
1. Какие расчеты используют для преобразования координат при построении графиков функции на экране компьютера? 2. Как вычислить коэффициент масштабирования при построении гистограммы? 3. Как вычислить коэффициент масштабирования при построении круговой диаграммы? 4. Для чего предназначен компонент Chart? 5. Какие методы Series позволяют добавлять данные на диаграммы? |
Упражнения
1. Добавьте в проект 15.1 следующие возможности:
- Оси координат со стрелками и подписями.
- Единичный отрезок на оси X.
- График функции y = 0.3x2 – 4x + 2, в той же системе координат, красным цветом.
2. Измените проект из примера 15.3 так, чтобы строилась линейчатая диаграмма (столбики расположены горизонтально).
3. Используя расчеты из примера 15.3, постройте следующие диаграммы:
1. в виде ломаной линии; |
2. точечная (в качестве «точки» можно использовать круг диаметра 10 пикселей или символ «*», для которого установлен размер шрифта 20). |
4. Используя расчеты из примера 15.4, постройте следующие диаграммы:
1. полукруг; |
*2. роза ветров. |
5. Постройте диаграммы используя компонент Chart:
6. Постройте в одной системе координат графики функций, используя компонент Chart. Предусмотрите поля для ввода значений параметров.
a) ,
b) .
7 *. Постройте графики кривых, заданных параметрическими уравнениями, используя компонент Chart:
|
2. Роза:
|
3. Улитка Паскаля:
|