У меня проблемы с построением всех информационных фреймов в виде графиков рассеяния на одном и том же рисунке. Контекст является методом начальной загрузки, чтобы получить представление о значении ошибки коэффициента корреляции Пирсона, и таким образом генерируются данные в l oop.
Приведенный ниже код дает мне одну диаграмму рассеяния исходный набор данных и один график рассеяния для каждого загруженного набора данных (данные коррелированы, поэтому выборка производится парами). Однако вместо того, чтобы все они были представлены в виде отдельных графиков, я хочу, чтобы они все были на одном рисунке (разных цветов), чтобы сравнить их, добавить среднюю линию регрессии и окончательный коэффициент корреляции Пирсона для исходного и среднего корреля Пирсона. , коэфф. загруженных образцов.
Вкратце: я хочу, чтобы все наборы разбросанных данных были на одном и том же рисунке разных цветов
(Дополнительные добавления: одна линия регрессии и коэффициент корреляции Пирсона для исходного набора данных и один линия регрессии и средний коэффициент корреляции загруженных образцов)
Код:
#Pearson's r correlation bootstrap
import dautil as dl
import pandas as pd
from scipy import stats
from sklearn.utils import check_random_state
import matplotlib.pyplot as plt
df = pd.DataFrame({"A": [18,28,29,32,35,36,37,37,39,40,42,42,46,48,54,56,57,61,61,62,63,65],
"B": [9,13,17,15,23,21,24,28,26,30,29,36,38,42,40,48,40,51,54,50,51,57]})
plt.scatter(df.iloc[:,0],df.iloc[:,1]) #original dataframe
plt.show()
stats_corr = stats.pearsonr(df['A'].values, df['B'].values)
print('Correlation={0:.4g}, p-value={1:.4g}'.format(stats_corr[0], stats_corr[1]))
n = len(df.index)
rs = check_random_state(34)
ranges = []
fig, ax = plt.subplots()
for j in range(10):
corrs = []
for i in range(5):
indices = rs.choice(n, size=n)
pairs = df.values
gen_pairs = pairs[indices] #bootstrapped dataframe
#print(gen_pairs)
plt.scatter(gen_pairs.T[0], gen_pairs.T[1], color='red', alpha=0.1)
plt.show()
corrs.append(stats.pearsonr(gen_pairs.T[0], gen_pairs.T[1])[0])
ranges.append(dl.stats.ci(corrs))