Как построить эллипсоиды PCoA в Python?Python

Программы на Python
Ответить
Anonymous
 Как построить эллипсоиды PCoA в Python?

Сообщение Anonymous »

У меня есть набор биологических образцов, разделенных на три типа (1, 2 и 3). Мне удалось построить анализ PCoa на основе расстояний Брея-Кертиса относительно относительного содержания некоторых генов в образце.
Я использовал этот сценарий:

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

import numpy as np
import pandas as pd
from scipy.spatial import distance
from skbio.stats.ordination import pcoa, pca
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.read_excel("relative_abundances.xlsx")
dfnumpy = df.to_numpy()
dfdistances=distance.pdist(dfnumpy, 'braycurtis') #bray-curtis distance matrix
pcoa_results = pcoa(dfdistances, dimensions=2) #pcoa analysis
coordinates = pcoa_results.samples #pcoa analysis coordinates
df_pcoa = coordinates[["PC1", "PC2"]]

indexdf = pd.read_excel("index.xlsx") #Assigns each sample a type
df_merged = pd.concat([df_pcoa.reset_index(drop=True), indexdf.reset_index(drop=True)], axis=1) #joins coordinates df with the index

sns.scatterplot(data=df_merged,x="PC1",y="PC2",hue="Type") #plots the PCoA
plt.title("Figure 1: Scatter Plot",
fontsize=16)
plt.xlabel('PcoA 1',
fontsize=16)
plt.ylabel('PcoA 2',
fontsize=16)
plt.show(block=True)

Данные, которые я использовал: относительный_abundances.csv index.csv
График, который я получаю:
График PcoA, созданный кодом вопроса.
Проблема в том, что я хочу нарисовать три доверительных эллипса, по одному для каждого типа выборки, аналогично:
Изображение

Единственное, что я нашел для Python, — это документация matplotlib, но я не могу интегрировать этот код с моей точечной диаграммой. Я видел, как некоторые люди говорили о невозможности выполнить этот анализ в Python и вместо этого рекомендовали ggplot2 из R.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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