Seaborn联合图(添加线性回归线)
时间: 2023-07-05 21:27:47 浏览: 200
Seaborn可以用联合图展示两个变量之间的关系,同时可以添加线性回归线来更好地展示变量之间的线性关系。下面是一个绘制联合图并添加线性回归线的示例代码:
```
import seaborn as sns
import matplotlib.pyplot as plt
#加载数据
tips = sns.load_dataset("tips")
#绘制联合图并添加线性回归线
sns.jointplot(x="total_bill", y="tip", data=tips, kind="reg")
#显示图形
plt.show()
```
在这个例子中,我们加载了seaborn自带的tips数据集,然后使用jointplot函数绘制联合图,其中x代表横轴数据,y代表纵轴数据,data代表数据集,kind="reg"表示添加线性回归线。最后使用plt.show()函数显示图形。这样,我们就可以更好地展示两个变量之间的线性关系了。
相关问题
Seaborn库使用 绘制iris数据集的联合分布和边缘分布,联合分布 使用回归分析。 使用notebook文件(*.ipynb)进行代码编写和调试。
Seaborn是一个基于matplotlib的数据可视化库,专为Python设计,用于创建统计图形。它提供了一种简洁、直观的方式来生成复杂的统计数据图表,如热图、小提琴图、箱线图等,并支持高级统计功能。
要使用Seaborn绘制Iris数据集(这是一个常见的机器学习示例,包含了鸢尾花的四个特征)的联合分布和边缘分布,你可以按照以下步骤操作:
1. **导入所需库**:
```python
import seaborn as sns
import numpy as np
import pandas as pd
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
```
2. **加载数据**:
```python
iris = load_iris()
df = pd.DataFrame(data=iris.data, columns=iris.feature_names)
df['species'] = iris.target_names[iris.target]
```
3. **选择联合分布和边缘分布**:
- 联合分布通常展示两个或更多变量之间的关系,例如`sns.jointplot()`函数:
```python
g = sns.jointplot(x='sepal_length', y='petal_length', data=df, kind="hex", color="#4CB391")
```
- 边缘分布则单独显示每个变量的分布,例如使用`sns.histplot()`:
```python
for column in ['sepal_length', 'petal_length']:
ax = sns.histplot(df[column], kde=True, color="#E377C2")
```
4. **添加回归分析**:
使用`sns.lmplot()`可以同时展示散点图并加入线性回归模型:
```python
sns.lmplot(x='sepal_length', y='petal_length', hue='species', data=df, scatter_kws={"s": 50}, truncate=False)
```
5. **保存和显示结果**:
```python
plt.tight_layout()
# 可选地,你可以将画布保存为图像文件
# g.savefig("iris_joint_distribution.png")
plt.show()
```
6. **在Jupyter Notebook中运行**:
将以上代码段粘贴到`.ipynb`文件中,然后运行每一行代码块,就可以看到相应的结果了。
阅读全文