使用python读取excel中的某几列数据并绘制正态分布直方图与核密度图,并在正态分布直方图、核密度图中添加图例与正态分布曲线,使用sns包
时间: 2023-11-27 19:51:30 浏览: 155
基于python进行抽样分布描述及实践详解
好的,以下是代码实现:
```python
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import norm
# 读取excel数据
df = pd.read_excel('data.xlsx', usecols=[1, 2, 3, 4])
# 绘制直方图与核密度图
sns.set_style('whitegrid')
sns.histplot(data=df, x='A', kde=True, label='A')
sns.histplot(data=df, x='B', kde=True, label='B')
sns.histplot(data=df, x='C', kde=True, label='C')
sns.histplot(data=df, x='D', kde=True, label='D')
# 添加图例
plt.legend()
# 绘制正态分布曲线
x = np.linspace(-10, 10, 100)
plt.plot(x, norm.pdf(x, 0, 1), label='Normal')
# 添加图例
plt.legend()
# 显示图像
plt.show()
```
其中,`usecols`参数指定需要读取的列,`kde=True`参数表示绘制核密度图,`sns.histplot()`函数绘制直方图和核密度图,`sns.set_style()`函数设置图像外观风格,`plt.plot()`函数绘制正态分布曲线,`plt.legend()`函数添加图例,`plt.show()`函数显示图像。
阅读全文