#python
#python
Вопрос:
Я создал броуновское движение, а затем взял последние значения из 1000 записей, повторяющиеся 10000 раз. Я смог построить гистограмму, используя следующий код следующим образом:
import seaborn as sns
import matplotlib.pyplot as plt
\BM represents list of values generated by the Brownian motion
fig, (ax1,ax2) = plt.subplots(2)
ax1.hist(BM[:,-1],12)
Я смог нарисовать KDE следующим образом, однако я не смог объединить две диаграммы вместе. Может кто-нибудь мне помочь?
sns.kdeplot(data=BM[:,-1])
Комментарии:
1. Было бы неплохо, если бы вы добавили решения, которые вы пробовали!
2. Я загрузил некоторые из методов, которые я использовал.
3. Вы должны указать, что
sns
plt
иBM
есть. Хотя некоторые из них очевидны, но не для всех остальных, которые потенциально могут ответить на ваш вопрос. Если вы не собираетесь публиковать мини-воспроизводимый пример , вам следует уточнить все имена.4. Как выглядит ваш BM[:,-1] ? Какую ошибку вы получаете?
5. Масштаб оси y здесь является проблемой. Я предлагаю вам нормализовать гистограмму или использовать
seaborn.distplot
Ответ №1:
Попробуйте использовать sns.kdeplot(BM['col1'])
where 'col1'
— это имя столбца, который вы хотите отобразить.
Я приведу вам воспроизводимый пример, который работает для меня.
import seaborn as sns
import pandas as pd
import numpy as np
BM = pd.DataFrame(np.array([-0.00871515, -0.0001227 , -0.01449098, 0.01808527, 0.00074193, 0.01145541]
, columns=['col1'])
BM.head(2)
col1
0 -0.008715
1 -0.000123
sns.kdeplot(BM['col1'])
Редактировать на основе вашего дополнительного вопроса:
Чтобы получить гистограмму и график kde, используйте этот:
sns.distplot(BM['col1'])
Комментарии:
1. Я думаю, проблема в том, как вы получаете доступ к BM. Вы пробовали то, что я делал? np.random.rand — это массив numpy. Попробуйте BM = pd.DataFrame(np.array([-0.00871515, -0.0001227 , -0.01449098, 0.01808527, 0.00074193, 0.01145541]), столбцы=[‘col1’])
2. Привет, я пробовал то, что вы делали, но все еще не работает. Я повторил свой первый метод, и теперь он работает. Однако я не смог отобразить их KDE на гистограмме. Обратитесь к моему первому сообщению (отредактированному). Вы знаете, как это сделать?
3. Как вы смогли отобразить KDE на гистограмме, я пробовал, но это не работает. kde и гистограмма идут отдельно.
4. Я отредактировал ответ, чтобы использовать точно такой же ввод, который вы мне дали.
5. К сожалению, будучи новым пользователем, у меня недостаточно репутации, чтобы поднять вашу точку зрения. Извините. Однако я принял ваш ответ. Я не знал, что должен был сделать это раньше.