数据呈现丨轻松用 Seaborn 进行数据可视化
The following article is from Python数据之道 Author Lemonbit
Seaborn 是一个数据可视化库,可帮助在Python中创建有趣的数据可视化。大多数数据分析需要识别趋势和建立模型。本文将帮助您开始使用 Seaborn库创建数据可视化。
import pandas as pd # Pandas
import numpy as np # Numpy
import matplotlib.pyplot as plt # Matplotlibrary
import seaborn as sns # Seaborn Library
%matplotlib inline
sns.set()
1、 直方图 (Distplot)
sns.distplot(data[“variablename”])
# Load the Dataset in Python
tips = sns.load_dataset("tips")
tips.head()
左右滑动查看更多现在,由于我们已经加载了数据集,我们将使用 “total_bill” 变量创建第一个图。让我们从 tips数据集创建 “total_bill” 变量的 distplot。
sns.distplot(tips["total_bill"], bins=16, color="purple")
# Binsize is calculated using square-root of row count.
左右滑动查看更多
现在,我们来对上述代码进行进一步描述:
sns.distplot — 这个命令将启动 distplot 的初始创建
tips[“total_bill”] — 从 tips 数据集(数据框)中取出列(total_bill)。在这里,我们应该观察一下,可以使用方括号来拉取列值,并且列名应该用引号括起来(双引号/单引号)都被接受。
2 、联合分布图 (Jointplot)
联合分布图 (Jointplot)采用两个变量并一起创建直方图和散点图。让我们看一下 jointplot 的语法。
sns.jointplot(x = , y =, data=)
sns.jointplot(x = "total_bill", y = "tip", data = tips, color="purple")
左右滑动查看更多
如上所述,散点图似乎显示总账单和小费金额之间的强相关性。在它的顶部,我们可以看到各个变量的直方图。
2.1 Jointplot :: kind =”hex”
sns.jointplot(x = , y =, data=, kind=”hex”)
# Jointplot - Scatterplot and Histogram
sns.jointplot(x = "total_bill", y = "tip", data = tips, kind ="hex",
color="lightcoral")ips, kind ="hex",color="lightcoral")
左右滑动查看更多
有几种类型的值可以放在 sns.jointplot 中来创建不同的图。默认情况下,联合分布图显示散点图。现在,在上面的情节图中,它显示了六边形。六边形的深色表示数据点的高密度,其中较浅的颜色表示较少的点。
kind : { "scatter" | "reg" | "resid" | "kde" | "hex" }
2.2 Jointplot :: kind =”kde”
# Jointplot - Scatterplot and Histogram
sns.jointplot(x = tips["total_bill"], y = tips["tip"],kind = "kde",
color="purple") # contour plot
左右滑动查看更多
上面显示的图表称为轮廓图。轮廓图(有时称为“水平图”)是一种在二维平面上显示三维表面的方法。它绘制了y轴上的两个预测变量X Y和轮廓的响应变量Z.
3 、矩阵图 (Pairplot)
sns.pairplot(“dataframe”)
# Pairplot of Tips
sns.pairplot(tips, hue = "sex", palette="Set2")
# this will color the plot gender wise
左右滑动查看更多
下面我们来了解下矩阵图的含义。对角线部分显示了具有核密度估计的 distplot图或直方图。矩阵图的上部和下部显示散点图。“hue”使用列的类别为绘图着色。
hue = “sex” — 设置为按不同的性别进行着色
palette = “Set2” - “Set2” 是颜色的一个系列。
4 、条形图 (Barplot)
sns.barplot(x = , y =, data=)
# Barplot
sns.barplot(x ="sex" , y ="total_bill" , data=tips)
# Inference - Total Bill Amount for males is more than Females.
左右滑动查看更多
# Lets Plot Smoker Vs Total Bill :: The purpose is to find out if
# Smokers pay more bill than Non Smokers
sns.barplot(x = "smoker", y = "total_bill", data =tips)
# Inference - More Bill for Smokers
左右滑动查看更多
# Lets Find If There is more Bill In Weekend or Weekdays
sns.barplot(x = "day", y = "total_bill", data =tips)
# People tend to visit more on weekends
左右滑动查看更多
5 、箱形图 (Boxplot)
Minimum 最小值
First Quartile 1/4 值
Median (Second Quartile) 中位数
Third Quartile 3/4 值
Maximum 最大值
sns.boxplot(x = , y =, data=)
# Boxplot
sns.boxplot(x = "day", y = "total_bill", data=tips)
左右滑动查看更多
# Add hue to split the barplot. Making it more fancier
sns.boxplot(x = "day", y = "total_bill", data=tips, hue = "smoker")
# On Friday people have more bill if they are a Non smoker vs smoker
左右滑动查看更多
hue =“smoker”:- 它为吸烟者和非吸烟者创造了一个箱线图。例如:在星期五的情况下,可以清楚地看到,与当天的吸烟者相比,非吸烟者的食物费用更多。
# Violin Plots
sns.violinplot(x = "day", y = "total_bill", data = tips)
6 、LM Plot
# LM PLot
sns.lmplot(x = "total_bill", y = "tip", data = tips, hue="day")
上图显示了不同日期的total_bill变量的线性回归拟合,如图例中所示,这是在 sns.lmplot 中使用 hue =“day” 获得的。
原文:
Data Visualisation Using Seaborn
https://medium.com/@mukul.mschauhan/data-visualisation-using-seaborn-464b7c0e5122
►往期推荐
回复【Python】👉 简单有用易上手
回复【学术前沿】👉机器学习丨大数据
回复【数据资源】👉公开数据
回复【可视化】👉 你心心念念的数据呈现
回复【老姚专栏】👉老姚趣谈值得一看
►一周热文
数据Seminar
这里是大数据、分析技术与学术研究的三叉路口
推荐:威武哥(叶武威)
编辑:青酱
欢迎扫描👇二维码添加关注