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

Matplotlib

.docx
Скачиваний:
0
Добавлен:
16.06.2026
Размер:
540.78 Кб
Скачать
  1. Линейный график погоды: Постройте график изменения температуры и осадков в течение года. Ось X - месяцы, ось Y1 - температура, ось Y2 - количество осадков.

import matplotlib.pyplot as plt

# Данные (примерные)

months = ['Янв', 'Фев', 'Мар', 'Апр', 'Май', 'Июн',

'Июл', 'Авг', 'Сен', 'Окт', 'Ноя', 'Дек']

temperature = [-5, -3, 2, 10, 16, 20, 23, 22, 16, 9, 2, -2] # в °C

precipitation = [40, 35, 30, 25, 50, 70, 80, 75, 60, 55, 45, 50] # в мм

fig, ax1 = plt.subplots()

# Первая ось — температура

color = 'tab:red'

ax1.set_xlabel('Месяцы')

ax1.set_ylabel('Температура (°C)', color=color)

ax1.plot(months, temperature, color=color, marker='o', label='Температура')

ax1.tick_params(axis='y', labelcolor=color)

# Вторая ось — осадки

ax2 = ax1.twinx()

color = 'tab:blue'

ax2.set_ylabel('Осадки (мм)', color=color)

ax2.plot(months, precipitation, color=color, marker='s', label='Осадки')

ax2.tick_params(axis='y', labelcolor=color)

plt.title('Изменение температуры и осадков по месяцам')

fig.tight_layout()

plt.grid(True)

plt.show()

  1. Гистограмма распределения доходов: Постройте гистограмму, отображающую распределение доходов среди сотрудников компании. Ось X - диапазоны доходов, ось Y - количество сотрудников в каждом диапазоне.

import matplotlib.pyplot as plt

# Примерные данные о доходах сотрудников (в тыс. сомов)

incomes = [35, 42, 40, 38, 45, 55, 60, 65, 50, 52, 70, 72, 48, 44, 37,

90, 85, 88, 100, 110, 95, 60, 63, 58, 67, 75, 80, 77, 69, 73]

# Диапазоны доходов в сомах

bins = [30, 40, 50, 60, 70, 80, 90, 100, 110, 120]

# Построение гистограммы

plt.figure(figsize=(10, 6))

plt.hist(incomes, bins=bins, edgecolor='black', color='skyblue')

# Настройка подписей и оформления

plt.xlabel('Доход (тыс. сомов)')

plt.ylabel('Количество сотрудников')

plt.title('Распределение доходов среди сотрудников компании')

plt.grid(axis='y')

plt.xticks(bins)

# Показать график

plt.show()

  1. Круговая диаграмма состава портфеля: Постройте круговую диаграмму, показывающую процентное соотношение различных акций в инвестиционном портфеле.

import matplotlib.pyplot as plt

# Примерные данные: распределение акций в инвестиционном портфеле

stocks = ['Apple', 'Microsoft', 'Google', 'Amazon', 'Tesla', 'Другие']

shares = [25, 20, 15, 10, 20, 10] # В процентах

# Построение круговой диаграммы

plt.figure(figsize=(8, 8))

plt.pie(

shares,

labels=stocks,

autopct='%1.1f%%', # Подписи с процентами

startangle=140, # Начальный угол

colors=plt.cm.Paired.colors # Цветовая палитра

)

plt.title('Состав инвестиционного портфеля')

plt.axis('equal') # Окружность будет ровной

plt.show()

4. Линейный график посещаемости сайта: Постройте график,

отображающий ежедневное количество посещений вашего сайта за

последний месяц. Ось X - даты, ось Y - количество посещений.

import matplotlib.pyplot as plt

import numpy as np

import pandas as pd

# Generate data for the last month

dates = pd.date_range(start="2025-04-01", end="2025-04-30", freq="D")

visits = np.random.randint(100, 1000, size=len(dates))

# Create the plot

plt.figure(figsize=(10, 6))

plt.plot(dates, visits, marker='o', linestyle='-', color='b')

plt.title('Daily Website Visits for April 2025')

plt.xlabel('Date')

plt.ylabel('Number of Visits')

plt.xticks(rotation=45)

plt.grid(True)

plt.tight_layout()

# Show the plot

plt.show()

5.Гистограмма распределения времени в игре: Создайте гистограмму, показывающую, как долго игроки проводят в вашей игре. Ось X - диапазоны времени, ось Y - количество игроков в каждом диапазоне.

import matplotlib.pyplot as plt

import numpy as np

# Generating random time data (in minutes) for players

np.random.seed(42)

times_spent = np.random.randint(5, 300, size=500) # Time spent between 5 and 300 minutes

# Create the histogram

plt.figure(figsize=(10, 6))

plt.hist(times_spent, bins=15, color='skyblue', edgecolor='black')

# Adding labels and title

plt.title('Time Distribution of Players in the Game')

plt.xlabel('Time Spent in Game (Minutes)')

plt.ylabel('Number of Players')

plt.grid(True, alpha=0.7)

# Display the plot

plt.show()

6. Линейный график температуры: Постройте график изменения температуры в течение недели. Ось X - дни недели, ось Y - температура в градусах Цельсия.

import matplotlib.pyplot as plt

# Данные для дней недели и температуры

days_of_week = ['Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота', 'Воскресенье']

temperatures = [22, 24, 26, 23, 25, 27, 28] # Температура в градусах Цельсия

# Построение линейного графика

plt.figure(figsize=(10, 6))

plt.plot(days_of_week, temperatures, marker='o', linestyle='-', color='b')

# Добавление заголовка и подписей осей

plt.title('Изменение температуры в течение недели')

plt.xlabel('День недели')

plt.ylabel('Температура (°C)')

plt.grid(True)

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

plt.show()

7. Гистограмма оценок: Составьте гистограмму оценок учеников по математике. Ось X - оценки, ось Y - количество учеников с каждой оценкой.

import matplotlib.pyplot as plt

import numpy as np

# Генерация случайных данных об оценках (от 1 до 5)

np.random.seed(42)

grades = np.random.randint(1, 6, size=100) # 100 учеников с оценками от 1 до 5

# Построение гистограммы

plt.figure(figsize=(10, 6))

plt.hist(grades, bins=np.arange(1, 7) - 0.5, color='skyblue', edgecolor='black', rwidth=0.8)

# Добавление заголовка и подписей осей

plt.title('Гистограмма оценок учеников по математике')

plt.xlabel('Оценки')

plt.ylabel('Количество учеников')

plt.xticks([1, 2, 3, 4, 5]) # Подписи на оси X для оценок от 1 до 5

plt.grid(True, alpha=0.7)

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

plt.show()

8. Круговая диаграмма продаж товаров: Постройте круговую диаграмму, отображающую процентное соотношение продаж различных товаров за месяц

import matplotlib.pyplot as plt

# Данные о продажах товаров

products = ['Товар A', 'Товар B', 'Товар C', 'Товар D', 'Товар E']

sales = [300, 150, 200, 100, 250] # Количество проданных единиц

# Построение круговой диаграммы

plt.figure(figsize=(8, 8))

plt.pie(sales, labels=products, autopct='%1.1f%%', startangle=140, colors=['#ff9999','#66b3ff','#99ff99','#ffcc99','#c2c2f0'])

# Добавление заголовка

plt.title('Процентное соотношение продаж товаров за месяц')

# Отображение диаграммы

plt.show()

9. Линейный график финансовых данных: Постройте график изменения цены акций компании за последний месяц. Ось X - даты, ось Y - цена акций

import matplotlib.pyplot as plt

import numpy as np

import pandas as pd

# Генерация данных для последнего месяца

dates = pd.date_range(start="2025-04-01", end="2025-04-30", freq="D")

prices = np.random.uniform(100, 500, size=len(dates)) # Генерация случайных цен акций от 100 до 500

# Построение линейного графика

plt.figure(figsize=(10, 6))

plt.plot(dates, prices, marker='o', linestyle='-', color='b')

# Добавление заголовка и подписей осей

plt.title('Изменение цены акций компании за апрель 2025 года')

plt.xlabel('Дата')

plt.ylabel('Цена акций (в долларах)')

plt.xticks(rotation=45)

plt.grid(True)

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

plt.tight_layout()

plt.show()

10. Гистограмма распределения возрастов: Создайте гистограмму, показывающую распределение возрастов в определенной группе. Ось X - возрастные группы, ось Y - количество людей в каждой группе.

import matplotlib.pyplot as plt

import numpy as np

# Генерация случайных данных об возрастах (от 18 до 70 лет)

np.random.seed(42)

ages = np.random.randint(18, 71, size=200) # 200 человек, возраст от 18 до 70

# Определение возрастных групп

bins = [18, 25, 35, 45, 55, 65, 70] # Возрастные группы

# Построение гистограммы

plt.figure(figsize=(10, 6))

plt.hist(ages, bins=bins, color='skyblue', edgecolor='black', rwidth=0.8)

# Добавление заголовка и подписей осей

plt.title('Гистограмма распределения возрастов')

plt.xlabel('Возрастные группы')

plt.ylabel('Количество людей')

plt.xticks([22, 30, 40, 50, 60, 68], labels=['18-25', '25-35', '35-45', '45-55', '55-65', '65-70'])

plt.grid(True, alpha=0.7)

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

plt.show()

Соседние файлы в предмете Программирование на Python