import numpy as np import matplotlib.pyplot as plt class lab2: def __init__(self): pass def main(self): # Используем массивы из первой работы x11 = np.random.normal(2, 1, [10, 1]) x21 = np.random.normal(6, 2, [10, 1]) # Построение диаграммы рассеяния plt.scatter(x11, x21) plt.xlabel("x1") plt.ylabel("x2") plt.title("Диаграмма рассеяния") plt.show() # Построение гистограммы hist_data = np.vstack((x11, x21)) plt.hist(hist_data, bins=10) plt.xlabel("Значение признака") plt.ylabel("Количество значений") plt.title("Гистограмма") plt.show() # Построение "ящика с усами" boxplot_data = plt.boxplot((x11.ravel(), x21.ravel()), notch=True) plt.xlabel("Массив") plt.ylabel("Значение признака") plt.title("Ящик с усами") plt.xticks([1, 2], ['x11', 'x21']) plt.show() # Получение данных для таблицы for i, name in enumerate(['x11', 'x21'], start=1): print(f"Данные для {name}:") print(f"Медиана: {boxplot_data['medians'][i-1].get_ydata()[0]}") print(f"Нижняя граница: {boxplot_data['whiskers'][2*(i-1)].get_ydata()[1]}") print(f"Верхняя граница: {boxplot_data['whiskers'][2*(i-1)+1].get_ydata()[1]}") print(f"Нижний квартиль: {boxplot_data['boxes'][i-1].get_ydata()[1]}") print(f"Верхний квартиль: {boxplot_data['boxes'][i-1].get_ydata()[2]}") fliers = boxplot_data['fliers'][i-1].get_ydata() print(f"Выбросы: {', '.join(map(str, fliers)) if fliers.size > 0 else 'Нет выбросов'}") if __name__ == "__main__": l2 = lab2() l2.main()