Создание диаграмм рассеяния с линиями регрессии в Python: методы и примеры

Чтобы создать диаграмму рассеяния с линией регрессии в Python, вы можете использовать несколько методов. Вот несколько популярных вариантов:

  1. Matplotlib: Matplotlib — это широко используемая библиотека построения графиков в Python. Вы можете использовать функцию scatter()для создания диаграммы рассеяния и функцию plot()для рисования линии регрессии. Вот пример:
import matplotlib.pyplot as plt
import numpy as np
# Generate random data
x = np.random.rand(100)
y = 2 * x + np.random.randn(100)  # Simulated linear relationship
# Create scatter plot
plt.scatter(x, y)
# Fit a regression line
m, b = np.polyfit(x, y, 1)
plt.plot(x, m * x + b, color='red')
# Add labels and title
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Scatter Plot with Regression Line')
# Display the plot
plt.show()
  1. Seaborn: Seaborn — еще одна популярная библиотека визуализации данных, созданная на основе Matplotlib. Он обеспечивает интерфейс более высокого уровня для создания статистических графиков. В Seaborn есть функция regplot(), которая объединяет точечную диаграмму и линию регрессии. Вот пример:
import seaborn as sns
import numpy as np
# Generate random data
x = np.random.rand(100)
y = 2 * x + np.random.randn(100)  # Simulated linear relationship
# Create scatter plot with regression line
sns.regplot(x, y)
# Add labels and title
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Scatter Plot with Regression Line')
# Display the plot
plt.show()
  1. Plotly: Plotly — это мощная интерактивная библиотека построения графиков, которая позволяет создавать интерактивные и готовые к использованию в Интернете визуализации. Вы можете использовать функцию scatter()из библиотеки Plotly для создания точечной диаграммы и функцию add_trace()для добавления линии регрессии. Вот пример:
import plotly.graph_objects as go
import numpy as np
# Generate random data
x = np.random.rand(100)
y = 2 * x + np.random.randn(100)  # Simulated linear relationship
# Create scatter plot
fig = go.Figure()
fig.add_trace(go.Scatter(x=x, y=y, mode='markers', name='Scatter Plot'))
# Fit a regression line
m, b = np.polyfit(x, y, 1)
fig.add_trace(go.Scatter(x=x, y=m * x + b, mode='lines', name='Regression Line'))
# Update layout
fig.update_layout(title='Scatter Plot with Regression Line', xaxis_title='X', yaxis_title='Y')
# Display the plot
fig.show()