义乌网站建设哪家好,seo搜索优化待遇,网站建设氵金手指下拉十三,cms适合做什么网站文章目录可视化数据的分布绘制单变量分布绘制双变量分布绘制成对的双变量分布用分类数据绘图类别散点图通过stripplot()函数画散点图swarmplot()函数类别内的数据分布绘制箱型图绘制提琴图类别内的统计估计绘制条形图绘制点图可视化数据的分布
绘制单变量分布
一般采用最简单…
文章目录可视化数据的分布绘制单变量分布绘制双变量分布绘制成对的双变量分布用分类数据绘图类别散点图通过stripplot()函数画散点图swarmplot()函数类别内的数据分布绘制箱型图绘制提琴图类别内的统计估计绘制条形图绘制点图可视化数据的分布
绘制单变量分布
一般采用最简单的直方图描述单变量的分布情况。Seaborn中提供了displot()函数。 distplot(a, binsNone, histTrue, kdeTrue, rugFalse, fitNone, hist_kwsNone, kde_kwsNone, rug_kwsNone, fit_kwsNone, colorNone, verticalFalse, norm_histFalse, axlabelNone, labelNone, axNone) 上述函数中常用的参数含义如下
a表示要观察的数据可以是Sries、一维数组或列表bins用于控制条形的数量hist接收布尔类型表示是否绘制标注直方图kde接收布尔类型表示是否绘制高斯核密度估计曲线rug接收布尔类型表示是否在支持的轴的方向上绘制rugplot
通过distplot()函数绘制直方图
import seaborn as sns
import numpy as npsns.set() # 显式调用set()获取默认绘图
np.random.seed(0) # 确定随机数生成器的种子
arr np.random.randn(100) # 生成随机数组
ax sns.distplot(arr, bins10) # 绘制直方图输出结果
由图可得直方图共有10个条柱每个条柱的颜色为蓝色并且拥有核密度估计曲线。核密度估计是在概率论中用来估计未知的密度函数属于非参数检验方法之一可以比较直观地看出数据样本本身的分布特征。 如果想要仅拥有核密度估计曲线设置相关参数即可
arr_random np.random.randint(0, 100, 500) # 绘制包含500个位于[0, 100)之间的随机整数数组
sns. distplot(arr_random, histFalse, rugTrue) # 绘制核密度估计曲线输出结果
绘制一条核密度估计曲线并且在x轴的上方生成了观测数值的小细条。
注意如果希望Seaborn用Matplotlib的默认样式之前可以通过从Seaborn库中导入apionly模块解决这个问题但是从2017年7月起这个方法已经被弃用了。因此现在导入Seaborn时需要显式地调用set()或set_style()、set_context()和set_palette()中的一个或多个函数以获取Seaborn或者Matplotlib默认的绘图样式。
拟合并绘制核密度估计曲线还可以使用kedeplot()函数 绘制双变量分布
两个变量的二元分布可视化可以显示两个变量之间的双变量关系以及每个变量在单独坐标轴上的单变量分布。 jointplot(x, y, dataNone, kind“scatter”, stat_funcNone, colorNone, height6, ratio5, space.2, dropnaTrue, xlimNone, ylimNone, joint_kwsNone, marginal_kwsNone, annot_kwsNone, **kwargs) 上述函数中常用参数的含义如下
kind表示绘制图形的类型stat_func用于计算有关关系的统计量并标注图size用于设置图的大小正方形ratio表示中心图与侧边图的比例。该参数的值越大则中心图的占比会越大。space用于设置中心图与侧边图的间隔大小。xlimylim表示x、y轴的范围。
绘制散点图
dataframe_obj pd.DataFrame({x: np.random.randn(500),y: np.random.randn(500)}) # 创建DataFrame对象
sns.jointplot(xx, yy, datadataframe_obj) # 绘制散点图输出结果
x轴的名称为“x”y轴的名称为“y”两轴的数据均为500个随机数。可以看到的是散点图的上方和右侧增加了直方图便于观察x和y轴数据的整体分布情况并且它们的均值都是0。 绘制二维直方图
dataframe_obj pd.DataFrame({x: np.random.randn(500),y: np.random.randn(500)}) # 创建DataFrame对象
sns.jointplot(kindhex, datadataframe_obj, xx, yy) # 绘制二维直方图输出结果
从六边形颜色的深浅可以观察到数据密集的程度图形的上方和右侧依然给出了直方图。
注意 绘制二维直方图时最好是用白色背景以便观察六边形颜色深浅。 绘制核密度估计图形
利用核密度估计同样可以查看二元分布Seaborn中用等高线图来表示。
sns.jointplot(kindkde, xx, yy, datadataframe_obj) # 绘制核密度估计图形输出结果
绘制了核密度的等高线图通过观察等高线的颜色深浅可以看出哪个范围的数值分布的最多哪个范围的数值分布的最少。同样的在图形的上方和右侧给出了核密度曲线图。 绘制成对的双变量分布
要想在数据集中绘制成对的双变量分布则可以使用pairplot()函数实现该函数会创建一个坐标轴矩阵并显示DataFrame对象中每对变量的关系。该函数亦可绘制每个变量在对角轴上的单变量分布。
代码如下
通过load_dataset()函数加载了seaborn中内置的数据集根据tips数据集绘制多个双变量分布。【如无法正确运行则在这里下载zip文件然后在电脑中使用搜索功能找到seaborn-data文件夹将zip文件解压到文件夹中具体步骤如下图】 dataset sns.load_dataset(tips) # 加载seaborn中的数据集
sns.pairplot(dataset) # 绘制多个成对的双变量分布输出结果 用分类数据绘图
类别散点图 stripplot(xNone, yNone, hueNone, dataNone, orderNone, hue_orderNone, jitterTrue, dodgeFalse, orientNone, colorNone, paletteNone, size5, edgecolor“gray”, linewidth0, axNone, **kwargs) 上述函数中常用参数如下
xyhue用于绘制长葛市数据的输入。data用于绘制的数据集。如果x和y不存在则它将作为宽格式否则将作为长格式。orderhue_order用于绘制分类的级别。jitteer表示抖动的程度仅沿类别轴。当很多数据点重叠时可以指定抖动的数量或者设为True使用默认值。
通过stripplot()函数画散点图
代码如下
tips sns.load_dataset(tips)
sns.stripplot(xday, ytotal_bill, datatips)输出结果
从图中可以看出图标横坐标时分类的数据而且一些数据点会互相重叠不易于观察。可以在调用stripplot()函数时传入jitter参数以调整横坐标的位置。 改变横坐标的位置
tips sns.load_dataset(tips)
sns.stripplot(xday, ytotal_bill, datatips, jitterTrue)输出结果 swarmplot()函数
亦可使用swarmplot()函数绘制散点图该函数的好处是所有的数据点都不会重叠可以很清晰地观察到数据的分布情况。
代码如下
tips sns.load_dataset(tips)
sns.swarmplot(xday, ytotal_bill, datatips)输出结果 类别内的数据分布
由于散点图查看各个分类中的数据分布不够直观故可利用下列两种图形查看
箱型图直观地查看数据的四分位分布1/4分位中位数3/4分位以及四分位距提琴图箱型图与核密度图地的结合可以展示任意位置的密度可以很直观地看到哪些位置的密度较高
绘制箱型图 boxplot(xNone, yNone, hueNone, dataNone, orderNone, hue_orderNone, orientNone, colorNone, paletteNone, saturation.75, width.8, dodgeTrue, fliersize5, linewidthNone, whis1.5, axNone, **kwargs) 上述函数常用参数如下
orient表示数据垂直或水平显示取值为“v”|“h”palette用于设置不同级别色相的颜色变量。saturation用于设置数据显示的颜色饱和度。
代码如下
tips sns.load_dataset(tips)
sns.boxplot(xday, ytotal_bill, datatips)输出结果
x轴的名称为day刻度范围是Thur ~ Sun周四至周日y轴的名称为total_bill刻度范围为10 ~ 50左右。 从图中可以看出Thur列、Fri列中大部分数据都小于30但Thur列有5个异常值大于30、Fri列中有1个异常值大于40Sat列中有3个大于40的异常值Sun列中有两个大于40的异常值。 绘制提琴图 violinplot(xNone, yNone, hueNone, dataNone, orderNone, hue_orderNone, bw“scott”, cut2, scale“area”, scale_hueTrue, gridsize100, width.8, inner“box”, splitFalse, dodgeTrue, orientNone, linewidthNone, colorNone, paletteNone, saturation.75, axNone, **kwargs) 代码如下
tips sns.load_dataset(tips)
sns.violinplot(xday, ytotal_bill, datatips)输出结果
由图可得Thur列中位于5 ~ 25之间的数值较多Fri列中位于5 ~ 30之间的数值较多Sat列中位于5 ~ 35之间的数值较多Sun列中位于5 ~ 40之间的数值较多。 类别内的统计估计
想要集中查看每个分类的集中趋势可以使用条形图和点图进行展示。
barplot()函数绘制条形图pointplot()函数绘制点图。
绘制条形图
默认情况下 barplot()函数会在整个数据集上使用均值进行估计。若每个类别中有多个类别时使用了hue参数则条形图可以使用引导来计算估计的置信区间样本统计量构造的总体参数的估计区间并使用误差条来表示置信区间。
代码如下
tips sns.load_dataset(tips)
sns.barplot(xday, ytotal_bill, datatips) # 绘制条形图输出结果 绘制点图
该函数会用高度估计值对数据进行描述而不是显示完整的条形只绘制点估计和置信区间。
代码如下
tips sns.load_dataset(tips)
sns.pointplot(xday, ytotal_bill, datatips) # 绘制点图输出结果