暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

R语言与Python绘制pairsplot

1800
点击关注了解更多哦

本文主要展示如何利用R语言Python绘制pairsplot图pairsplot,顾名思义,其中的pairs为成对、一双的含义,即两两变量之间的关系图。主要参考包括Stack Overflow[1]如何使用python绘制pais相关系数图[2]R语言绘图|散点图矩阵[3]

1、R语言绘制

1.1 psych包绘制

library(ggplot2)
head(iris)
psych::pairs.panels(iris[1:4], stars = TRUE, ci = TRUE, lm = TRUE, pch = 21)

1.2 GGally包绘制

GGally::ggpairs(iris[1:4]) + theme_bw() + theme(panel.grid = element_blank())

2、Python绘制

#加载相关package
import warnings
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from scipy.stats import pearsonr
warnings.filterwarnings("ignore")

2.1 seaborn自带的pairplot函数

#使用iris数据集
iris = pd.read_csv("iris.csv")
iris = iris.iloc[:,0:4]
iris.head()

pairplot = sns.pairplot(iris)
pairplot.figure.set_size_inches(8, 8)
pairs.fig.savefig("pairplot.pdf")

2.2 绘制R形式的parisplot

def reg_coef(x,y,label = None, color = None, **kwargs):
    ax = plt.gca()
    ax.figure.set_size_inches(8, 8)
    r,p = pearsonr(x,y)
    ax.annotate('Corr :{:.3f}'.format(r), xy=(0.5,0.5), xycoords='axes fraction', ha='center')
    ax.annotate('P_value :{:.3f}'.format(p), xy=(0.5,0.4), xycoords='axes fraction', ha='center')
    ax.set_axis_off()

pairs = sns.PairGrid(iris)
pairs.map_diag(sns.distplot) #diagonal 
pairs.map_lower(sns.regplot) #Lower
pairs.map_upper(reg_coef) #Upper 
pairs.fig.savefig("seabon.pdf"#save to pdf

3、其他

其他绘图方法可进一步阅读公众号其他文章。


如有帮助请多多点赞哦!

参考资料

[1]

Add regression line in the scatter matrix of pandas: https://stackoverflow.com/questions/59326121/add-regression-line-in-the-scatter-matrix-of-pandas

[2]

如何使用python绘制pais相关系数图: https://mp.weixin.qq.com/s/MlNuEn0XDIb6awS0pJxaVg

[3]

R语言绘图|散点图矩阵: https://mp.weixin.qq.com/s/WObnLNS1pQBWMEcQlONWsw


文章转载自日常分享的小懒猫,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论