Для создания коробчатых диаграмм с джиттером в Python вы можете использовать различные библиотеки, такие как Matplotlib, Seaborn и Plotly. Вот несколько методов, использующих эти библиотеки:
Метод 1: использование Matplotlib
import matplotlib.pyplot as plt
import numpy as np
# Generate data
data = [np.random.normal(0, std, 100) for std in range(1, 4)]
# Create boxplot with jitter
fig, ax = plt.subplots()
ax.boxplot(data)
ax.plot(np.random.normal(1, 0.04, size=len(data)), data, 'r.', alpha=0.6)
# Set labels and title
ax.set_xticklabels(['Data 1', 'Data 2', 'Data 3'])
ax.set_xlabel('Datasets')
ax.set_ylabel('Values')
ax.set_title('Boxplots with Jitter')
# Display the plot
plt.show()
Метод 2: использование Seaborn
import seaborn as sns
import pandas as pd
# Generate data
data = pd.DataFrame({'Dataset 1': np.random.normal(0, 1, 100),
'Dataset 2': np.random.normal(0, 2, 100),
'Dataset 3': np.random.normal(0, 3, 100)})
# Create boxplot with jitter
sns.boxplot(data=data, palette='Set3')
sns.stripplot(data=data, color='red', alpha=0.6)
# Set labels and title
plt.xlabel('Datasets')
plt.ylabel('Values')
plt.title('Boxplots with Jitter')
# Display the plot
plt.show()
Метод 3: использование Plotly
import plotly.express as px
import pandas as pd
# Generate data
data = pd.DataFrame({'Dataset 1': np.random.normal(0, 1, 100),
'Dataset 2': np.random.normal(0, 2, 100),
'Dataset 3': np.random.normal(0, 3, 100)})
# Create boxplot with jitter
fig = px.box(data.melt(), x='variable', y='value', color='variable')
fig.update_traces(marker=dict(size=4))
# Set labels and title
fig.update_layout(xaxis_title='Datasets', yaxis_title='Values', title='Boxplots with Jitter')
# Display the plot
fig.show()