Matplotlib захватывает точки эллипсаPython

Программы на Python
Anonymous
Matplotlib захватывает точки эллипса

Сообщение Anonymous »

Как найти идеальный угол, чтобы расположить все точки эллипса? Я хотел бы создать эллипс, который окружает все точки на графике, эллипс минимального размера (это означает, что самые дальние точки будут на графике эллипса).
'

Код: Выделить всё

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import Ellipse

# Données des points (abscisses et ordonnées)
x = [1, 2, 3, 4, 5]
y = [7, 12, 15, 19, 25]

# Calculer les moyennes des abscisses et ordonnées
centre_x = np.mean(x)
centre_y = np.mean(y)

# Calculer les écarts entre chaque point et le centre
dx = np.abs(x - centre_x)
dy = np.abs(y - centre_y)

# Trouver les valeurs maximales des écarts
max_dx = np.max(dx)
max_dy = np.max(dy)

# Utiliser ces valeurs pour définir la largeur et la hauteur de l'ellipse
largeur = 2 * max_dx
hauteur = 2 * max_dy

# Calculer l'angle idéal (en radians)
angle_rad = np.arctan2(max_dy, max_dx)

# Convertir l'angle en degrés
angle_deg = np.degrees(angle_rad)

# Créer l'ellipse
ellipse = Ellipse((centre_x, centre_y), largeur, hauteur, angle=angle_deg, fill=False, color='red')

# Créer un nuage de points avec des couleurs aléatoires pour chaque point
plt.scatter(x, y, c=np.random.rand(len(x), 3))

# Ajouter l'ellipse au graphique
plt.gca().add_patch(ellipse)

# Afficher le graphique
plt.show()
'
У меня есть размер эллипса, но я не нашел подходящего угла.

Подробнее здесь: https://stackoverflow.com/questions/786 ... ing-points

Вернуться в «Python»