sns.displot(y, kde=False, fit=st.johnsonsu, color='Red')
时间: 2024-05-31 11:12:17 浏览: 221
这是使用 seaborn 库中的 displot 函数绘制直方图的代码。其中,y 是要绘制直方图的数据,kde=False 表示不绘制核密度估计曲线,fit=st.johnsonsu 表示拟合 Johnson-SU 分布曲线,color='Red' 表示直方图的颜色为红色。Johnson-SU 分布是一种连续概率分布,常用于描述正态分布的偏斜和峰度。该函数可以帮助我们快速了解数据的分布情况。
相关问题
# 总体分布概况(无界约翰逊分布等) y = Test_data['price'] sns.displot(y, kde=False, stat='density', height=6, aspect=2, rug=False, fit=st.johnsonsu) sns.displot(y, kde=False, stat='density', height=6, aspect=2, rug=False, fit=st.norm) sns.displot(y, kde=False, stat='density', height=6, aspect=2, rug=False, fit=st.lognorm) plt.show()。raise AttributeError( AttributeError: Rectangle.set() got an unexpected keyword argument 'fit'。给出修复后的代码
修复后的代码如下:
```python
import seaborn as sns
import matplotlib.pyplot as plt
import scipy.stats as st
y = Test_data['price']
sns.histplot(y, kde=False, stat='density', height=6, aspect=2, element='step', fill=False, alpha=0.5, bins=20, linewidth=2, color='b', label='Histogram')
sns.kdeplot(y, bw_adjust=1, color='r', label='Kernel Density Estimation')
sns.distplot(y, kde=False, fit=st.johnsonsu, color='g', label='Johnson SU')
sns.distplot(y, kde=False, fit=st.norm, color='m', label='Normal')
sns.distplot(y, kde=False, fit=st.lognorm, color='y', label='Log Normal')
plt.legend()
plt.show()
```
主要的改动是将 `sns.displot()` 替换为了 `sns.histplot()`,并且将 `fit` 参数移动到了 `sns.distplot()` 函数中。此外,我还添加了其他一些参数以改善图表的可读性和美观度。
x = np.random.randn(100) ax = sns.displot(x) x = np.random.randn(100) ax = sns.displot(x) x = np.random.randn(100) ax = sns.displot(x) x = np.random.randn(100) ax = sns.displot(x) x = np.random.randn(100)ax = sns.displot(x) 写到pycharm里,pycharm为什么不出现图
在PyCharm中,你需要使用`plt.show()`来显示图形。添加这一行代码后,你的图形应该能够在PyCharm中正确显示。请尝试将以下代码添加到你的脚本中:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
sns.set_theme()
np.random.seed(0)
x = np.random.randn(100)
ax = sns.displot(x)
plt.show()
x = np.random.randn(100)
ax = sns.displot(x)
plt.show()
x = np.random.randn(100)
ax = sns.displot(x)
plt.show()
x = np.random.randn(100)
ax = sns.displot(x)
plt.show()
x = np.random.randn(100)
ax = sns.displot(x)
plt.show()
```
这样你就可以在PyCharm中看到生成的图形了。如果还有其他问题,请随时提问!
阅读全文