#python-3.x #pandas #seaborn
Вопрос:
Я пытался построить сюжет о морском борне.
пример кода:
import pandas as pd
import seaborn as sns
import numpy as np
import scipy
import matplotlib.pyplot as plt
# data
np.random.seed(365)
x1 = np.random.normal(10, 3.4, size=1000) # mean of 10
df = pd.DataFrame({'x1': x1})
def map_pdf(x, **kwargs):
mu, std = scipy.stats.norm.fit(x)
x0, x1 = p1.axes[0][0].get_xlim() # axes for p1 is required to determine x_pdf
x_pdf = np.linspace(x0, x1, 100)
y_pdf = scipy.stats.norm.pdf(x_pdf, mu, std)
plt.plot(x_pdf, y_pdf, c='r')
p1 = sns.displot(data=df, x='x1', kind='hist', bins=40, stat='density')
p1.map(map_pdf, 'x1')
не уверен, почему я не получаю никаких выходных данных после выполнения приведенного выше кода!
При выполнении вышеуказанного кода я получаю следующее,
<seaborn.axisgrid.FacetGrid at 0x7f6a6fa0f820>
Любая помощь в этом будет высоко оценена.
Заранее благодарю вас за поддержку!
Комментарии:
1. Этот код отлично работает с
seaborn 0.11.2
иmatplotlib 3.4.3
. См. Код и график2. Если вы используете ноутбук Jupyter, добавьте
%matplotlib inline
его в свой импорт и повторите попытку3. Ура, я могу указать кому-нибудь на новую страницу часто задаваемых вопросов 🙂
Ответ №1:
Используйте plt.show
для отображения вашего графика. То же самое было воссоздано и представлено ниже с решением.
import pandas as pd
import seaborn as sns
import numpy as np
import scipy
import matplotlib.pyplot as plt
# data
np.random.seed(365)
x1 = np.random.normal(10, 3.4, size=1000) # mean of 10
df = pd.DataFrame({'x1': x1})
def map_pdf(x, **kwargs):
mu, std = scipy.stats.norm.fit(x)
x0, x1 = p1.axes[0][0].get_xlim() # axes for p1 is required to determine x_pdf
x_pdf = np.linspace(x0, x1, 100)
y_pdf = scipy.stats.norm.pdf(x_pdf, mu, std)
plt.plot(x_pdf, y_pdf, c='r')
p1 = sns.displot(data=df, x='x1', kind='hist', bins=40, stat='density')
p1.map(map_pdf, 'x1')
plt.show(p1)
Комментарии:
1. @adey27, смогли ли вы решить свою проблему с помощью вышеуказанного решения?
2. Спасибо.. Это сработало после добавления «%matplotlib встроенный»