Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2сем / лаб пдф / ВвИТ_2сем24_ЛР6

.pdf
Скачиваний:
0
Добавлен:
04.04.2026
Размер:
101.46 Кб
Скачать

Лабораторная работа №6 Построение 2D графиков в Python

Технические требования:

Среда разработки для написания кода на Python Компилятор Python 3 (+ стандартный набор библиотек)

Требования к знаниям студентов:

Основы синтаксиса Python 3:

-умение работать с переменными и знание типов данных

-умение работать со списками

-умение считывать данные из файла

-умение выводить данные в консоль/файл

-знание условных конструкций if-elif-else

-умение писать циклы for/while

-умение создавать и вызывать функции, возращать значения

-умение генерировать случайные числа

Цель работы:

Знакомство с численными методами для решения задач: - построение 2D графиков

Теоретическое введение:

Блок 1 “Построение 2D графиков”

Библиотека matplotlib — один из наиболее популярных инструментов для визуализации данных в Python. Она позволяет создавать различные типы двумерных графиков, начиная от простых точечных диаграмм и заканчивая сложными графиками функций и трехмерными изображениями.

Рассмотрим простейший пример - построим график прямой линии.

import numpy as np

import matplotlib.pyplot as plt

#Генерируем массив значений x x = np.linspace(-10, 10, 100)

#Вычисляем значения y = x^2 y = x ** 2

#Создаем график

plt.plot(x, y)

#Добавляем заголовок и подписи к осям plt.title('График квадратичной функции') plt.xlabel('X ось')

plt.ylabel('Y ось')

#Отображаем график

plt.show()

Теперь рассмотрим случай, когда мы хотим построить набор (массив) отдельных точек в координатных осях.

import numpy as np

import matplotlib.pyplot as plt

#Массив случайных значений X и Y np.random.seed(0)

x = np.random.randn(50) y = np.random.randn(50)

#Строим точки

plt.scatter(x, y, color='blue', marker='o')

#Заголовок и подписи к осям plt.title('Диаграмма рассеяния') plt.xlabel('Ось X') plt.ylabel('Ось Y')

#Показываем график plt.show()

Помимо стандартных сплошных линий ('-'), библиотека поддерживает другие стили отображения:

Строка

Описание

'-'

Сплошная линия

'--'

Штриховая линия

'-.'

Штрих-пунктирная

':'

Точка-штрих

'None'

Нет линии

Пример изменения стиля линии:

import numpy as np

import matplotlib.pyplot as plt

x = np.linspace(0, 10, 100) y = np.sin(x)

plt.plot(x, y, linestyle='--') # Используем штриховую линию plt.title('Синусоидальная кривая')

plt.xlabel('Время')

plt.ylabel('Амплитуда')

plt.show()

Можно также настроить внешний вид маркеров (точек), используемых для обозначения точек на графике.

Параметр

Значение

'.'

Точка

','

Пиксел

'o'

Круг

'+'

Плюс

'*'

Звезда

's'

Квадрат

'd'

Ромб

Пример настройки маркера:

 

import numpy as np

import matplotlib.pyplot as plt

x = np.arange(10) y = np.exp(x / 10)

plt.plot(x, y, marker='*', markersize=8, markeredgecolor='black', linewidth=0) plt.title('Экспоненциальная зависимость')

plt.xlabel('Индекс') plt.ylabel('Значение экспоненты') plt.show()

Для того, чтобы сделать графики более читабельными, можно добавить сетку и изменить оформление осей.

import numpy as np

import matplotlib.pyplot as plt

x = np.linspace(0, 10, 100) y = np.cos(x)

plt.figure(figsize=(8, 6)) # Размер окна графика plt.plot(x, y, label='Косинус')

plt.grid(True) # Включаем сетку plt.legend() # Подписываем легенду plt.title('График косинуса') plt.xlabel('Угол в радианах') plt.ylabel('Значение функции') plt.show()

Практическая часть

Задание 1.1 (основная часть) “Построение массива точек”

Напишите программу, которая получает на вход 4 числа (x_min, x_max, y_min, y_max), генерирует 10 точек со случайными координатами x и y, расположенными в пределах заданных диапазонов, и визуализирует их в системе координат.

Задание 1.2 (основная часть) “Построение графика функции”

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

Заключение:

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

При сдаче работы студент должен знать изученные численные методы, а также разбираться в коде написанной программы.

Соседние файлы в папке лаб пдф