Создание эллипсов доверия в sccatterplot с использованием matplotlib

Как создать Ellipes доверия в sccatterplot, используя matplotlib?

Следующий код работает до создания диаграммы рассеяния. Тогда кто-нибудь знаком с помещением Уверенных Эллипсов над разбросом?

import numpy as np import matplotlib.pyplot as plt x = [5,7,11,15,16,17,18] y = [8, 5, 8, 9, 17, 18, 25] plt.scatter(x,y) plt.show() 

Ниже приведена ссылка на Ellipses доверия от SAS.

http://support.sas.com/documentation/cdl/en/grstatproc/62603/HTML/default/viewer.htm#a003160800.htm

Код в sas выглядит следующим образом:

 proc sgscatter data=sashelp.iris(where=(species="Versicolor")); title "Versicolor Length and Width"; compare y=(sepalwidth petalwidth) x=(sepallength petallength) / reg ellipse=(type=mean) spacing=4; run; 

  • Разбор конкретных столбцов из набора данных в python
  • Преобразование перспективы 3D-матрицы
  • Остановить Сципы до минимума после установленного времени
  • Постройте цветовое колесо (полярное) на основе цветовой карты с использованием Python / Matplotlib
  • Установка numpy в PyCharm в Windows
  • Определение размера байта матрицы scipy.sparse?
  • Загружать только часть изображения в python
  • Создание массива в numpy / scipy путем итерации в Python?
  • 2 Solutions collect form web for “Создание эллипсов доверия в sccatterplot с использованием matplotlib”

    Следующий код рисует один, два и три стандартных эллипса размера отклонения:

     x = [5,7,11,15,16,17,18] y = [8, 5, 8, 9, 17, 18, 25] cov = np.cov(x, y) lambda_, v = np.linalg.eig(cov) lambda_ = np.sqrt(lambda_) from matplotlib.patches import Ellipse import matplotlib.pyplot as plt ax = plt.subplot(111, aspect='equal') for j in xrange(1, 4): ell = Ellipse(xy=(np.mean(x), np.mean(y)), width=lambda_[0]*j*2, height=lambda_[1]*j*2, angle=np.rad2deg(np.arccos(v[0, 0]))) ell.set_facecolor('none') ax.add_artist(ell) plt.scatter(x, y) plt.show() 

    введите описание изображения здесь

    Получив принятый ответ, я обнаружил, что он правильно не выбирает квадрант при вычислении theta, поскольку он полагается на np.arccos :

    ой

    Взглянув на «возможный дубликат» и решение Джо Кингтона на github , я опустил его код:

     import numpy as np import matplotlib.pyplot as plt from matplotlib.patches import Ellipse def eigsorted(cov): vals, vecs = np.linalg.eigh(cov) order = vals.argsort()[::-1] return vals[order], vecs[:,order] x = [5,7,11,15,16,17,18] y = [25, 18, 17, 9, 8, 5, 8] nstd = 2 ax = plt.subplot(111) cov = np.cov(x, y) vals, vecs = eigsorted(cov) theta = np.degrees(np.arctan2(*vecs[:,0][::-1])) w, h = 2 * nstd * np.sqrt(vals) ell = Ellipse(xy=(np.mean(x), np.mean(y)), width=w, height=h, angle=theta, color='black') ell.set_facecolor('none') ax.add_artist(ell) plt.scatter(x, y) plt.show() 

    отрицательный склон

    Interesting Posts

    Как я могу использовать Django OAuth Toolkit с Python Social Auth?

    Как сделать JOIN в SQLAlchemy на 3 таблицах, где один из них является сопоставлением между двумя другими?

    Как сохранить словари и массивы в одном архиве (с numpy.savez)

    Извлечение содержимого таблицы из html с помощью python и BeautifulSoup

    HTTPS-запрос приводит к сбросу соединения в Windows с Python 3

    Моя собственная программа OCR в Python

    Использование формы входа в систему с помощью scrapy

    Мне нужна простая программа командной строки для преобразования XML с помощью стильной таблицы XSL

    Один экземпляр django для одной базы данных и разных экземпляров django

    Отображать изображение в оттенках серого с использованием matplotlib

    Как получить все имена переменных и методов, используемые в скрипте

    Django – как продлить сторонние модели без изменения

    Исключительная трассировка скрыта, если не восстать сразу

    как хранить сложный объект в redis (используя redis-py)

    Объединение двух словарей с вложенными массивами

    Python - лучший язык программирования в мире.