Python可视化学习之seaborn绘制线型回归曲线

目录
  • 本文速览
  • 1、绘图数据准备
  • 2、seaborn.regplot
    • regplot默认参数线型回归图
    • 分别设置点和拟合线属性
    • 置信区间(confidenceinterval)设置
    • 拟合线延伸与坐标轴相交
    • 拟合离散变量曲线
    • 多项式回归(polynomialregression)拟合曲线
  • 3、seaborn.lmplot
    • 按变量分类拟合回归线
    • 散点marker设置
    • 散点调色盘
    • 拟合线属性设置
    • 绘制分面图

本文速览

1、绘图数据准备

依旧使用鸢尾花iris数据集,详细介绍见之前文章。

#导入本帖要用到的库,声明如下:
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import palettable
from pandas import Series,DataFrame
from sklearn import datasets
import seaborn as sns
import palettable
#导入鸢尾花iris数据集(方法一)
#该方法更有助于理解数据集
iris=datasets.load_iris()
x, y =iris.data,iris.target
y_1 = np.array(['setosa' if i==0 else 'versicolor' if i==1 else 'virginica' for i in y])
pd_iris = pd.DataFrame(np.hstack((x, y_1.reshape(150,1))),columns=['sepal length(cm)','sepal width(cm)','petal length(cm)','petal width(cm)','class'])

#astype修改pd_iris中数据类型object为float64
pd_iris['sepal length(cm)']=pd_iris['sepal length(cm)'].astype('float64')
pd_iris['sepal width(cm)']=pd_iris['sepal width(cm)'].astype('float64')
pd_iris['petal length(cm)']=pd_iris['petal length(cm)'].astype('float64')
pd_iris['petal width(cm)']=pd_iris['petal width(cm)'].astype('float64')

#导入鸢尾花iris数据集(方法二)
#该方法有时候会卡巴斯基,所以弃而不用
#import seaborn as sns
#iris_sns = sns.load_dataset("iris")

数据集简单查看

2、seaborn.regplot

seaborn.regplot(x, y, data=None, x_estimator=None, x_bins=None, x_ci='ci', scatter=True, fit_reg=True, ci=95, n_boot=1000, units=None, seed=None, order=1, logistic=False, lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, truncate=True, dropna=True, x_jitter=None, y_jitter=None, label=None, color=None, marker='o', scatter_kws=None, line_kws=None, ax=None)

regplot默认参数线型回归图

plt.figure(dpi=100)
sns.set(style="whitegrid",font_scale=1.2)#设置主题,文本大小
g=sns.regplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris,
             color='#000000',#设置marker及线的颜色
             marker='*',#设置marker形状
             )

分别设置点和拟合线属性

plt.figure(dpi=100)
sns.set(style="whitegrid",font_scale=1.2)
g=sns.regplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris,
              color='#000000',
              marker='*',
              scatter_kws={'s': 60,'color':'g',},#设置散点属性,参考plt.scatter
              line_kws={'linestyle':'--','color':'r'}#设置线属性,参考 plt.plot

置信区间(confidence interval)设置

注意拟合线周围阴影面积变化

plt.figure(dpi=100)
sns.set(style="whitegrid",font_scale=1.2)
g=sns.regplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris,
             color='#000000',
             marker='*',
             ci=60,#置信区间设置,默认为95%置信区间,越大线周围阴影部分面积越大
             )

拟合线延伸与坐标轴相交

# extend the regression line to the axis limits
plt.figure(dpi=100)
sns.set(style="whitegrid",font_scale=1.2)
g=sns.regplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris,
             color='#000000',
             marker='*',
             truncate=False,#让拟合线与轴相交
             )

拟合离散变量曲线

plt.figure(dpi=100)
sns.set(style="whitegrid",font_scale=1.2)
x_discrete=[0 if i=='setosa' else 1 if i=='versicolor' else 2 for i in pd_iris['class']]#
g=sns.regplot(x=x_discrete, y='sepal width(cm)', data=pd_iris,#x此时为离散变量
             color='#000000',
             marker='*',
             )

多项式回归( polynomial regression)拟合曲线

plt.figure(dpi=110)
sns.set(style="whitegrid",font_scale=1.2)
g=sns.regplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris,
             marker='*',
             order=4,#默认为1,越大越弯曲
             scatter_kws={'s': 60,'color':'#016392',},#设置散点属性,参考plt.scatter
             line_kws={'linestyle':'--','color':'#c72e29'}#设置线属性,参考 plt.plot             

             )

3、seaborn.lmplot

seaborn.lmplot(x, y, data, hue=None, col=None, row=None, palette=None, col_wrap=None, height=5, aspect=1, markers='o', sharex=True, sharey=True, hue_order=None, col_order=None, row_order=None, legend=True, legend_out=True, x_estimator=None, x_bins=None, x_ci='ci', scatter=True, fit_reg=True, ci=95, n_boot=1000, units=None, seed=None, order=1, logistic=False, lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, truncate=True, x_jitter=None, y_jitter=None, scatter_kws=None, line_kws=None, size=None)

seaborn.lmplot结合seaborn.regplot()和FacetGrid,比seaborn.regplot()更灵活,可绘制更个性化的图形。

按变量分类拟合回归线

plt.figure(dpi=100)
sns.set(style="whitegrid",font_scale=1.2)
g=sns.lmplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris,
             hue='class',
             )
g.fig.set_size_inches(10,8)

散点marker设置

plt.figure(dpi=100)
sns.set(style="whitegrid",font_scale=1.2)
g=sns.lmplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris,
             hue='class',
             markers=['+','^','o'],   #设置散点marker
             )
g.fig.set_size_inches(10,8)

散点调色盘

plt.figure(dpi=100)
sns.set(style="whitegrid",font_scale=1.2)
g=sns.lmplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris,
             hue='class',
             markers=['+','^','*'],
             scatter_kws={'s':180},
             palette=["#01a2d9", "#31A354", "#c72e29"],#调色盘
             )
g.fig.set_size_inches(10,8)

拟合线属性设置

plt.figure(dpi=100)
sns.set(style="whitegrid",font_scale=1.2)
g=sns.lmplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris,
             hue='class',
             markers=['+','^','*'],
             scatter_kws={'s':180},
             line_kws={'linestyle':'--'},#拟合线属性设置
             palette=["#01a2d9", "#31A354", "#c72e29"],
             )
g.fig.set_size_inches(10,8)

绘制分面图

plt.figure(dpi=100)
sns.set(style="whitegrid",font_scale=1.2)
g=sns.lmplot(x='sepal length(cm)', y='sepal width(cm)', data=pd_iris,
             col='class',#按class绘制分面图
             markers='*',
             scatter_kws={'s':150,'color':'#01a2d9'},
             line_kws={'linestyle':'--','color':'#c72e29'},#直线属性设置
             )
g.fig.set_size_inches(10,8)

以上就是Python可视化学习之seaborn绘制线型回归曲线的详细内容,更多关于Python seaborn线型回归曲线的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python 数据可视化之Seaborn详解

    目录 安装 散点图 线图 条形图 直方图 总结 安装 要安装 seaborn,请在终端中输入以下命令. pip install seaborn Seaborn 建立在 Matplotlib 之上,因此它也可以与 Matplotlib 一起使用.一起使用 Matplotlib 和 Seaborn 是一个非常简单的过程.我们只需要像之前一样调用 Seaborn Plotting 函数,然后就可以使用 Matplotlib 的自定义函数了. 注意: Seaborn 加载了提示.虹膜等数据集,但在本教程

  • Python数据可视化库seaborn的使用总结

    seaborn是python中的一个非常强大的数据可视化库,它集成了matplotlib,下图为seaborn的官网,如果遇到疑惑的地方可以到官网查看.http://seaborn.pydata.org/ 从官网的主页我们就可以看出,seaborn在数据可视化上真的非常强大. 1.首先我们还是需要先引入库,不过这次要用到的python库比较多. import numpy as np import pandas as pd import matplotlib as mpl import matpl

  • Python中seaborn库之countplot的数据可视化使用

    在Python数据可视化中,seaborn较好的提供了图形的一些可视化功效. seaborn官方文档见链接:http://seaborn.pydata.org/api.html countplot是seaborn库中分类图的一种,作用是使用条形显示每个分箱器中的观察计数.接下来,对seaborn中的countplot方法进行详细的一个讲解,希望可以帮助到刚入门的同行. 导入seaborn库 import seaborn as sns 使用countplot sns.countplot() cou

  • python可视化分析的实现(matplotlib、seaborn、ggplot2)

    一.matplotlib库 1.基本绘图命令 import matplotlib.pyplot as plt plt.figure(figsize=(5,4)) #设置图形大小 plt.rcParams['axes.unicode_minus']=False #正常显示负号 plt.rcParams['font.sans-self']=['Kai Ti'] #设置字体,这里是楷体,SimHei表示黑体 #基本统计图 plt.bar(x,y);plt.pie(y,labels=x);plt.plo

  • python数据可视化Seaborn绘制山脊图

    目录 1. 引言 2. 举个栗子 3.山脊图 4.扩展 5.结论 1. 引言 山脊图一般由垂直堆叠的折线图组成,这些折线图中的折线区域间彼此重叠,此外它们还共享相同的x轴. 山脊图经常以一种相对不常见且非常适合吸引大家注意力的紧凑图的形式表现.观察上图,我们给其起名叫Ridge plot是非常恰当的,因为上述图表看起来确实很像山的脊背.此外,上述图像还有另一个称呼叫做Joy Plots–这主要是因为Joy Division乐队在如下专辑封面上采用了这种可视化形式. 2. 举个栗子 在介绍完山脊图

  • python数据可视化Seaborn画热力图

    目录 1.引言 2. 栗子 3. 数据预处理 4. 画热力图 5. 添加数值 6. 调色板优化 1.引言 热力图的想法很简单,用颜色替换数字. 现在,这种可视化风格已经从最初的颜色编码表格走了很长一段路.热力图被广泛用于地理空间数据.这种图通常用于描述变量的密度或强度,模式可视化.方差甚至异常可视化等. 鉴于热力图有如此多的应用,本文将介绍如何使用Seaborn 来创建热力图. 2. 栗子 首先我们导入Pandas和Numpy库,这两个库可以帮助我们进行数据预处理. import pandas

  • Python可视化学习之seaborn绘制线型回归曲线

    目录 本文速览 1.绘图数据准备 2.seaborn.regplot regplot默认参数线型回归图 分别设置点和拟合线属性 置信区间(confidenceinterval)设置 拟合线延伸与坐标轴相交 拟合离散变量曲线 多项式回归(polynomialregression)拟合曲线 3.seaborn.lmplot 按变量分类拟合回归线 散点marker设置 散点调色盘 拟合线属性设置 绘制分面图 本文速览 1.绘图数据准备 依旧使用鸢尾花iris数据集,详细介绍见之前文章. #导入本帖要用

  • Python可视化学习之seaborn绘制矩阵图详解

    目录 本文内容速览 1.绘图数据准备 2.seaborn.pairplot 加上分类变量 修改调色盘 x,y轴方向选取相同子集 x,y轴方向选取不同子集 非对角线散点图加趋势线 对角线上的四个图绘制方式 只显示网格下三角图形 图形外观设置 3.seaborn.PairGrid(更灵活的绘制矩阵图) 每个子图绘制同类型的图 对角线和非对角线分别绘制不同类型图 对角线上方.对角线.对角线下方分别绘制不同类型图 其它一些参数修改 本文内容速览 1.绘图数据准备 还是使用鸢尾花iris数据集 #导入本帖

  • Python可视化学习之seaborn调色盘

    目录 1.color_palette()函数 2.seaborn可用调色盘 choose_colorbrewer_palette函数 Qualitativecolorpalettes Sequentialcolorpalettes Divergingcolorpalettes 1.color_palette() 函数 该函数是seaborn选取颜色关键函数 color_palette() will accept the name of any seaborn palette or matplot

  • Python可视化神器pyecharts之绘制地理图表练习

    目录 炫酷地图 3D炫酷地图模板系列 重庆市3D地图展示 中国3D地图 中国3D数据地图(适合做数据可视化) 全国行政区地图(带城市名字) 地球展示 炫酷地图 前期我们介绍了很多的地图模板,不管是全球的还是中国的,其实我感觉都十分的炫酷,哈哈哈,可是还有更加神奇的,更加炫酷的地图模板,下面让我们一起一饱眼福吧! 3D炫酷地图模板系列 重庆市3D地图展示 from pyecharts import options as opts from pyecharts.charts import Map3D

  • python OpenCV学习笔记之绘制直方图的方法

    本篇文章主要介绍了python OpenCV学习笔记之绘制直方图的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 官方文档 – https://docs.opencv.org/3.4.0/d1/db7/tutorial_py_histogram_begins.html 直方图会让你对图像的强度分布有一个全面的认识.它是一个在x轴上带有像素值(从0到255,但不总是),在y轴上的图像中对应的像素数量的图. 这只是理解图像的另一种方式.通过观察图像的直方图,你可以直

  • Python OpenCV学习之图形绘制总结

    目录 背景 一.画线 二.画矩形 三.画圆 四.画多边形 五.画文本 六.鼠标绘制 总结 背景 使用OpenCV进行图形绘制是一种必备的技能,在图像的任务中,不管是图像检测还是图像识别,我们都需要通过绘制图形和绘制文字对处理的结果进行说明,本篇就详细介绍下图形的绘制: 一.画线 line(图像,起始点,终点,颜色,线宽,线形):一般只需要前面四个参数即可: 代码案例: cv2.line(img, (20, 100), (20, 500), (0,0,255)) 画出了一条Y方向上的红色线段: 二

  • Python可视化学习之matplotlib内置单颜色

    目录 1.matplotlib支持的颜色格式 2.matplotlib颜色使用方法 3.matplotlib内置单颜色色号 'BASE_COLORS'色号 'BASE_COLORS'色图 TABLEAU_COLORS色号 TABLEAU_COLORS色图 CSS4_COLORS色号 CSS4_COLORS色图 XKCD_COLORS色号 XKCD_COLORS色图 1.matplotlib支持的颜色格式 1.RGB 或者 RGBA 元组格式颜色 元组中浮点型数值位于 [0, 1] 之间,e.g(

  • Python可视化神器pyecharts之绘制箱形图

    目录 箱形图 概念 用处 箱形图系列模板 第一个箱形图 复杂一点的图例 箱形图 概念 后面的图形都是一些专业的统计图形,当然也会是我们可视化的对象. 箱形图(Box-plot)又称为盒须图.盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图.因形状如箱子而得名.在各种领域也经常被使用,常见于​​品质管理​​.它主要用于反映原始数据分布的特征,还可以进行多组数据分布特征的比 较.箱线图的绘制方法是:先找出一组数据的上边缘.下边缘.中位数和两个四分位数:然后, 连接两个四分位数画出箱体:再将

  • Python可视化最频繁使用的10大工具总结

    目录 Matplotlib Seaborn Plotly Bokeh Altair ggplot Holoviews Plotnine Wordcloud Networkx 总结 今天介绍Python当中十大可视化工具,每一个都独具特色,惊艳一方. Matplotlib Matplotlib 是 Python 的一个绘图库,可以绘制出高质量的折线图.散点图.柱状图.条形图等等.它也是许多其他可视化库的基础. import matplotlib.pyplot as plt import numpy

  • python OpenCV学习笔记实现二维直方图

    本文介绍了python OpenCV学习笔记实现二维直方图,分享给大家,具体如下: 官方文档 – https://docs.opencv.org/3.4.0/dd/d0d/tutorial_py_2d_histogram.html 在前一篇文章中,我们计算并绘制了一维的直方图.它被称为一维,因为我们只考虑一个特性,即像素的灰度强度值.但是在二维直方图中,你可以考虑两个特征.通常它用于寻找颜色直方图,其中两个特征是每个像素的色调和饱和度值. 有一个python样例(samples/python/c

随机推荐