程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何使用seaborn为数据框中的多列绘制一个线性回归散点图?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何使用seaborn为数据框中的多列绘制一个线性回归散点图??

开发过程中遇到如何使用seaborn为数据框中的多列绘制一个线性回归散点图?的问题如何解决?下面主要结合日常开发的经验,给出你关于如何使用seaborn为数据框中的多列绘制一个线性回归散点图?的解决方法建议,希望对你解决如何使用seaborn为数据框中的多列绘制一个线性回归散点图?有所启发或帮助;

假设我有一个数据框 df,它的索引为 0 到 10,以及 4 列数据,c_1c_2c_3{{1} }.当我按如下方式绘制时:

c_4

我得到一张图,上面有两个回归散点图。但是,相反,我想要一个只有一个回归散点图的图,将每个索引 sns.regplot(data=df,x='c_1',y='c_2') sns.regplot(data=df,x='c_3',y='c_4') c_1 作为 x 分别与 c_3c_2 配对作为 y 值。我怎样才能做到这一点?感谢您的帮助,如果我能说得更清楚,请告诉我。

解决方法

大多数 seaborn 函数使用 long-form data 效果更好。因此,我们可以重新组织数据并标记您用代码暗示的类别。然后,我们为所有数据绘制一个正则图,并在两个类别的顶部绘制一个散点图:

import pandas as pd
from matplotlib import pyplot as plt
import seaborn as sns

#generate sample data
import numpy as np
np.random.seed(123)
n = 20
df = pd.DataFrame({"c_1":np.random.random(n),"c_2":np.zeros(n),"c_3":2 * np.random.random(n) - .5,"c_4":np.zeros(n)})
df.c_2 = 2 * df.c_1 - 3 * np.random.random(n)
df.c_4 = 3 * df.c_3 - 2 * np.random.random(n)        

#reformat the data for plotTing...
df_plot = df[["c_1","c_2"]].copy()
df_plot["cat"] = "set1" 
df_temp = df[["c_3","c_4"]].copy()
df_temp.columns = ["c_1","c_2"]
df_temp["cat"] = "set2" 
df_plot = df_plot.append(df_temp)

#...and plot
sns.regplot(data=df_plot,x='c_1',y='c_2',scatter=falsE)
sns.scatterplot(data=df_plot,x="c_1",y="c_2",hue="cat")

plt.show()

示例输出:

如何使用seaborn为数据框中的多列绘制一个线性回归散点图?

您可能希望为 regplot 赋予不同的颜色,以避免出现拟合线仅适用于散点图中的某些数据点的印象。

,

您可以为此使用子图。

import pandas as pd
from matplotlib import pyplot as plt
import seaborn as sns

plt.figure(figsize=(12,5))

#subplot(nrows,ncols,indeX)
plt.subplot(1,2,1)
sns.regplot(data=df,y='c_2')

plt.subplot(1,2)
sns.regplot(data=df,x='c_3',y='c_4') 

plt.show()

如何使用seaborn为数据框中的多列绘制一个线性回归散点图?

,

尝试联合绘图

GROUP BY

大佬总结

以上是大佬教程为你收集整理的如何使用seaborn为数据框中的多列绘制一个线性回归散点图?全部内容,希望文章能够帮你解决如何使用seaborn为数据框中的多列绘制一个线性回归散点图?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: