Seaborn联合图(添加线性回归线)
时间: 2023-07-05 22:27:47 浏览: 216
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()函数显示图形。这样,我们就可以更好地展示两个变量之间的线性关系了。
相关问题
线性回归散点图python代码
### Python 实现线性回归并绘制散点图
为了展示如何使用Python实现线性回归以及绘制带有最佳拟合线的散点图,下面提供了一个完整的代码示例。此例子不仅展示了如何读取CSV文件中的数据,还说明了如何利用`matplotlib`库来创建图表,并借助`seaborn`库增强图形的表现力。
#### 使用Matplotlib和Numpy进行基础绘图
首先,这里有一个简单的脚本用来加载来自CSV的数据集,并通过`matplotlib`显示这些数据点:
```python
import matplotlib.pyplot as plt
import numpy as np
# 加载数据
points = np.genfromtxt('data.csv', delimiter=',')
x = points[:, 0]
y = points[:, 1]
# 绘制原始数据点
plt.figure(figsize=(8, 6))
plt.scatter(x, y, color='blue', label='Data Points')
# 添加标签和其他细节
plt.title('Scatter Plot with Linear Regression Line')
plt.xlabel('Input Variable X')
plt.ylabel('Output Variable Y')
plt.legend()
plt.grid(True)
# 显示图像
plt.show()
```
这段代码能够有效地可视化给定的数据集合[^2]。
#### 利用Seaborn绘制带回归线的联合分布图
对于更高级的需求,比如想要同时查看两个变量间的散点图及其边缘分布直方图,还可以考虑采用`seaborn`库内的`jointplot()`函数。这允许更加直观地理解两者间的关系模式:
```python
import seaborn as sns
import pandas as pd
# 将numpy数组转换成pandas DataFrame以便于操作
df = pd.DataFrame(points, columns=['X', 'Y'])
# 创建一个具有线性回归趋势线的联合分布图
sns.set(style="white", color_codes=True)
g = sns.jointplot(data=df, x="X", y="Y", kind="reg", height=7, ratio=5, marginal_kws=dict(bins=25, fill=True))
# 自定义外观选项
g.plot_joint(plt.scatter, c=".3", s=40, linewidth=1, marker="+")
g.ax_joint.collections[0].set_alpha(0)
# 展示最终结果
plt.show()
```
上述代码片段中,`kind="reg"`参数指定了要添加一条基于最小二乘法计算得出的最佳拟合直线到散点图上;而其他一些可选配置则帮助调整整个图形的整体观感[^1]。
阅读全文