我有以下代碼用于繪制訓練和驗證資料集的直方圖和 kde 函式(核密度估計):
#Plot histograms
import matplotlib.pyplot as plt
import matplotlib
import seaborn as sns
displot_dataTrain=sns.displot(data_train, bins='auto', kde=True)
displot_dataTrain._legend.remove()
plt.ylabel('Count')
plt.xlabel('Training Data')
plt.title("Histogram Training Data")
plt.show()
displot_dataValid =sns.displot(data_valid, bins='auto', kde=True)
displot_dataValid._legend.remove()
plt.ylabel('Count')
plt.xlabel('Validation Data')
plt.title("Histogram Validation Data")
plt.show()
# Try to plot the kde-functions together --> yields an AttributeError
X1 = np.linspace(data_train.min(), data_train.max(), 1000)
X2 = np.linspace(data_valid.min(), data_valid.max(), 1000)
fig, ax = plt.subplots(1,2, figsize=(12,6))
ax[0].plot(X1, displot_dataTest.kde.pdf(X1), label='train')
ax[1].plot(X2, displot_dataValid.kde.pdf(X1), label='valid')
在一個圖中繪制直方圖和 kde 函式沒有問題。現在我想在一個圖中有 2 個 kde 函式,但是在使用發布的代碼時,我收到以下錯誤AttributeError: 'FacetGrid' object has no attribute 'kde'
您有什么想法嗎,我如何將 2 個 kde 函陣列合在一個圖中(沒有直方圖)?
uj5u.com熱心網友回復:
sns.displot()回傳一個FacetGrid。這不能作為ax.plot(). 此外,displot_dataTest.kde.pdf永遠無效。但是,您可以撰寫在第一個子圖sns.kdeplot(data=data_train, ax=ax[0])中創建一個。kdeplot請參閱
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/440750.html
標籤:Python matplotlib 海运
