seaborn线性关系数据可视化:时间线图|热图|结构化图表可视化

一、线性关系数据可视化lmplot( )

表示对所统计的数据做散点图,并拟合一个一元线性回归关系。

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, order=1,

          logistic=False, lowess=False, robust=False,logx=False, x_partial=None, y_partial=None, truncate=False,x_jitter=None,

          y_jitter=None, scatter_kws=None, line_kws=None, size=None)

  • x和y 表示显示x和y的线性关系
  • hue 表示对x按照hue进行分类,每个分类都在同一个图表显示
  • hue_order 按照hue分类后,多分类的结果进行筛选和显示排序
  • col和row 表示对hue的分类拆分为多个图表显示,或者对x按照col分类并拆分为多个横向的独立图表、或者对x按照row分类并拆分为多个竖直的独立图表
  • col_order和row_order 按照col和row分类拆分后,多分类进行删选和显示排序
  • col_wrap 每行显示的图表个数
  • height 每个图表的高度(最后一个参数size即height,size正被height替代)
  • aspect 每个图表的长宽比,默认为1即显示为正方形
  • marker 点的形式,
  • sharex和sharey 拆分为多个图表时是否共用x轴和y轴,默认共用
  • x_jitter和y_jitter 给x轴和y轴随机增加噪点
#hue分类,col图表拆分
sns.lmplot(x="tip", y="total_bill",data=tips,hue='smoker',palette="Set1",ci = 80, markers = ['+','o'])  #是否吸烟在同一个图表显示
sns.lmplot(x="tip", y="total_bill",data=tips,hue='day',col='day',sharex=True,markers='.')  #按日期拆分为独立的图表

 

sns.lmplot(x="tip", y="total_bill",data=tips,col='time',row='sex',height=3) #行拆分和列拆分

二、时间线图lineplot()

时间线图用lineplot()表示,tsplot()正在被替代。

lineplot(x=None, y=None, hue=None, size=None, style=None, data=None, palette=None, hue_order=None, hue_norm=None,
            sizes=None, size_order=None, size_norm=None,dashes=True, markers=None, style_order=None,units=None,
            estimator="mean", ci=95, n_boot=1000,sort=True, err_style="band", err_kws=None,legend="brief", ax=None, **kwargs)

fmri = sns.load_dataset("fmri")
ax = sns.lineplot(x="timepoint", y="signal", data=fmri)
fmri.head()

   

 

三、热图heatmap()

热图只针对二维数据,用颜色的深浅表示大小,数值越小颜色越深。

heatmap(data, vmin=None, vmax=None, cmap=None, center=None, robust=False,annot=None, fmt=".2g",
              annot_kws=None,linewidths=0, linecolor="white",cbar=True, cbar_kws=None, cbar_ax=None,
              square=False, xticklabels="auto", yticklabels="auto",mask=None, ax=None, **kwargs)

  • data 二维数据
  • vmin和vmax 调色板的最小值和最大值
  • annot 图中是否显示数值
  • fmt 格式化数值
  • linewidth和linecolor 格子线宽和颜色
  • cbar 是否显示色带 
  • cbar_kws 色带的参数设置,字典形式,在cbar设置为True时才生效,例如{"orientation": "horizontal"}表示横向显示色带
  • square 每个格子是否为正方形
rng = np.random.RandomState(1)
df = pd.DataFrame(rng.randint(1,10,(10,12)))
fig = plt.figure(figsize=(15,6))
ax1 = plt.subplot(121)
sns.heatmap(df,vmin=3,vmax=8,linewidth=0.2,square=True)
ax2 = plt.subplot(122)
sns.heatmap(df,annot=True,square=False,cbar_kws={"orientation": "horizontal"})

生成半边热图,mask参数

rs = np.random.RandomState(33)
d = pd.DataFrame(rs.normal(size=(100, 26)))
corr = d.corr() #求解相关性矩阵表格,26*26的一个正方数据

mask = np.zeros_like(corr, dtype=np.bool)
mask[np.triu_indices_from(mask)] = True
# 设置一个“上三角形”蒙版

cmap = sns.diverging_palette(220, 10, as_cmap=True)# 设置调色盘

sns.heatmap(corr, mask=mask, cmap=cmap, vmax=.3, center=0,square=True, linewidths=0.2)

 

四、结构化图表可视化

tips = sns.load_dataset("tips")  # 导入数据
g = sns.FacetGrid(tips, col="time", row="smoker")#  创建一个绘图表格区域,列按time分类、行按smoker分类
g.map(plt.hist, "total_bill",alpha = 0.5,color = 'b',bins = 10) # 以total_bill字段数据分别做直方图统计

 

g = sns.FacetGrid(tips, col="day", height=4,    # 图表大小aspect=.8) # 图表长宽比

g.map(plt.hist, "total_bill", bins=10,histtype = 'step',   #'bar', 'barstacked', 'step', 'stepfilled'color = 'k')

 

#散点图
g = sns.FacetGrid(tips, col="time",  row="smoker")g.map(plt.scatter, "total_bill", "tip",    # share{x,y} → 设置x、y数据edgecolor="w", s = 40, linewidth = 1)   # 设置点大小,描边宽度及颜色

 

g = sns.FacetGrid(tips, col="time", hue="smoker") # 创建一个绘图表格区域,列按col分类,按hue分类

g.map(plt.scatter, "total_bill", "tip",    # share{x,y} → 设置x、y数据edgecolor="w", s = 40, linewidth = 1)   # 设置点大小,描边宽度及颜色
g.add_legend()

 

attend = sns.load_dataset("attention")
print(attend.head())g = sns.FacetGrid(attend, col="subject", col_wrap=5,# 设置每行的图表数量size=1.5)
g.map(plt.plot, "solutions", "score", marker="o",color = 'gray',linewidth = 2)# 绘制图表矩阵

g.set(xlim = (0,4),ylim = (0,10),xticks = [0,1,2,3,4], yticks = [0,2,4,6,8,10]) # 设置x,y轴刻度

 

转载于:https://www.cnblogs.com/Forever77/p/11410065.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/391548.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

eda可视化_5用于探索性数据分析(EDA)的高级可视化

eda可视化Early morning, a lady comes to meet Sherlock Holmes and Watson. Even before the lady opens her mouth and starts telling the reason for her visit, Sherlock can tell a lot about a person by his sheer power of observation and deduction. Similarly, we…

Hyperledger Fabric 1.0 从零开始(十二)——fabric-sdk-java应用

Hyperledger Fabric 1.0 从零开始(十)——智能合约(参阅:Hyperledger Fabric Chaincode for Operators——实操智能合约) Hyperledger Fabric 1.0 从零开始(十一)——CouchDB(参阅&a…

css跑道_如何不超出跑道:计划种子的简单方法

css跑道There’s lots of startup advice floating around. I’m going to give you a very practical one that’s often missed — how to plan your early growth. The seed round is usually devoted to finding your product-market fit, meaning you start with no or li…

熊猫数据集_为数据科学拆箱熊猫

熊猫数据集If you are already familiar with NumPy, Pandas is just a package build on top of it. Pandas provide more flexibility than NumPy to work with data. While in NumPy we can only store values of single data type(dtype) Pandas has the flexibility to st…

JAVA基础——时间Date类型转换

在java中有六大时间类,分别是: 1、java.util包下的Date类, 2、java.sql包下的Date类, 3、java.text包下的DateFormat类,(抽象类) 4、java.text包下的SimpleDateFormat类, 5、java.ut…

LeetCode第五天

leetcode 第五天 2018年1月6日 22.(566) Reshape the Matrix JAVA class Solution {public int[][] matrixReshape(int[][] nums, int r, int c) {int[][] newNums new int[r][c];int size nums.length*nums[0].length;if(r*c ! size)return nums;for(int i0;i<size;i){ne…

matplotlib可视化_使用Matplotlib改善可视化设计的5个魔术技巧

matplotlib可视化It is impossible to know everything, no matter how much our experience has increased over the years, there are many things that remain hidden from us. This is normal, and maybe an exciting motivation to search and learn more. And I am sure …

robot:循环遍历数据库查询结果是否满足要求

使用list类型变量{}接收查询结果&#xff0c;再for循环遍历每行数据&#xff0c;取出需要比较的数值 转载于:https://www.cnblogs.com/gcgc/p/11424114.html

rm命令

命令 ‘rm’ &#xff08;remove&#xff09;&#xff1a;删除一个目录中的一个或多个文件或目录&#xff0c;也可以将某个目录及其下属的所有文件及其子目录均删除掉 语法&#xff1a;rm&#xff08;选项&#xff09;&#xff08;参数&#xff09; 默认会提示‘是否’删除&am…

感知器 机器学习_机器学习感知器实现

感知器 机器学习In this post, we are going to have a look at a program written in Python3 using numpy. We will discuss the basics of what a perceptron is, what is the delta rule and how to use it to converge the learning of the perceptron.在本文中&#xff0…

Python之集合、解析式,生成器,函数

一 集合 1 集合定义&#xff1a; 1 如果花括号为空&#xff0c;则是字典类型2 定义一个空集合&#xff0c;使用set 加小括号使用B方式定义集合时&#xff0c;集合内部的数必须是可迭代对象&#xff0c;数值类型的不可以 其中的值必须是可迭代对象&#xff0c;其中的元素必须是可…

python:如何传递一个列表参数

转载于:https://www.cnblogs.com/gcgc/p/11426356.html

curl的安装与简单使用

2019独角兽企业重金招聘Python工程师标准>>> windows 篇&#xff1a; 安装篇&#xff1a; 我的电脑版本是windows7,64位&#xff0c;对应的curl下载地址如下&#xff1a; https://curl.haxx.se/download.html 直接找到下面的这个版本&#xff1a; curl-7.57.0.tar.g…

gcc 编译过程

gcc 编译过程从 hello.c 到 hello(或 a.out)文件&#xff0c; 必须历经 hello.i、 hello.s、 hello.o&#xff0c;最后才得到 hello(或a.out)文件&#xff0c;分别对应着预处理、编译、汇编和链接 4 个步骤&#xff0c;整个过程如图 10.5 所示。 这 4 步大致的工作内容如下&am…

虎牙直播电影一天收入_电影收入

虎牙直播电影一天收入“美国电影协会(MPAA)的首席执行官J. Valenti提到&#xff1a;“没有人能告诉您电影在市场上的表现。 直到电影在黑暗的剧院里放映并且银幕和观众之间都散发出火花。 (“The CEO of Motion Picture Association of America (MPAA) J. Valenti mentioned th…

Python操作Mysql实例代码教程在线版(查询手册)_python

实例1、取得MYSQL的版本在windows环境下安装mysql模块用于python开发MySQL-python Windows下EXE安装文件下载 复制代码 代码如下:# -*- coding: UTF-8 -*- #安装MYSQL DB for pythonimport MySQLdb as mdb con None try: #连接mysql的方法&#xff1a;connect(ip,user,pass…

批判性思维_为什么批判性思维技能对数据科学家至关重要

批判性思维As Alexander Pope said, to err is human. By that metric, who is more human than us data scientists? We devise wrong hypotheses constantly and then spend time working on them just to find out how wrong we were.正如亚历山大波普(Alexander Pope)所说…

Manjaro 17 搭建 redis 4.0.1 集群服务

安装Redis在Linux环境中 这里我们用的是manjaro一个小众一些的发行版 我选用的是manjaro 17 KDE 如果你已经安装好了manjaro 那么你需要准备一个redis.tar.gz包 这里我选用的是截至目前最新的redis 4.0.1版本 我们可以在官网进行下载 https://redis.io/download选择Stable &…

快速排序简便记_建立和测试股票交易策略的快速简便方法

快速排序简便记Note from Towards Data Science’s editors: While we allow independent authors to publish articles in accordance with our rules and guidelines, we do not endorse each author’s contribution. You should not rely on an author’s works without se…

robot:List变量的使用注意点

创建list类型变量&#xff0c;两种方式&#xff0c;建议使用Create List关键字 使用该列表变量时需要变为${}方式&#xff0c;切记切记&#xff01; 转载于:https://www.cnblogs.com/gcgc/p/11429482.html