Matplotlib
.docxЛинейный график погоды: Постройте график изменения температуры и осадков в течение года. Ось 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()
Гистограмма распределения доходов: Постройте гистограмму, отображающую распределение доходов среди сотрудников компании. Ось 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()
Круговая диаграмма состава портфеля: Постройте круговую диаграмму, показывающую процентное соотношение различных акций в инвестиционном портфеле.
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()
