📜  绘制-Distplots密度图和误差线图

📅  最后修改于: 2020-11-29 07:07:44             🧑  作者: Mango


在本章中,我们将详细了解散布图,密度图和误差线图。让我们从学习散播开始。

Distplots

分布图工厂显示数值数据的统计表示形式的组合,例如直方图,核密度估计或正态曲线以及地毯图。

distplot可以由以下3个组件的全部或任意组合组成-

  • 直方图
  • 曲线:(a)核密度估计或(b)正态曲线,以及
  • 地毯图

fig_factory模块具有create_distplot()函数,该函数需要一个称为hist_data的强制性参数。

以下代码创建一个基本分布图,该分布图由直方图,kde图和地毯图组成。

x = np.random.randn(1000)
hist_data = [x]
group_labels = ['distplot']
fig = ff.create_distplot(hist_data, group_labels)
iplot(fig)

上面提到的代码的输出如下-

Distplots

密度图

密度图是根据数据估算的直方图的平滑连续版本。估计的最常见形式是核密度估计(KDE) 。在这种方法中,在每个单独的数据点绘制一条连续曲线(内核),然后将所有这些曲线相加在一起以进行单个平滑密度估计。

在模块plotly.figure_factory._2d_densitycreate_2d_density()函数返回用于2D密度图的图对象。

以下代码用于在直方图数据上生成2D密度图。

t = np.linspace(-1, 1.2, 2000)
x = (t**3) + (0.3 * np.random.randn(2000))
y = (t**6) + (0.3 * np.random.randn(2000))
fig = ff.create_2d_density( x, y)
iplot(fig)

下面提到的是上述给定代码的输出。

密度图

误差线图

误差棒是数据中误差或不确定性的图形表示,它们有助于正确解释。出于科学目的,错误报告对于理解给定数据至关重要。

误差线对问题解决者很有用,因为误差线显示了一组测量值或计算值的置信度或精度。

误差线通常代表数据集的范围和标准偏差。它们可以帮助可视化数据如何围绕平均值分布。误差条可以在各种图上生成,例如条图,线图,散点图等。

go.Scatter()函数具有error_xerror_y属性,这些属性控制如何生成错误条。

  • visible(boolean) -确定此错误栏是否可见。

类型属性的值可能为“ ” | “常量” | “ sqrt ” | “ data ”。它设置用于生成错误条的规则。如果为“ percent”,则条长度对应于基础数据的百分比。在“ value”中设置此百分比。如果为“ sqrt”,则条长度对应于基础数据。基础数据的平方。如果为“ data”,则条形长度由数据集“ array”设置。

  • 对称属性可以为true或false。因此,误差线在两个方向上的长度相同或不相同(垂直线的顶部/底部,水平线的左侧/右侧)。

  • array-设置与每个误差条的长度相对应的数据。相对于基础数据绘制值。

  • arrayminus-设置与垂直(水平)条的底部(左侧)方向上每个错误条的长度相对应的数据。相对于基础数据绘制值。

以下代码在散点图上显示对称误差线-

trace = go.Scatter(
   x = [0, 1, 2], y = [6, 10, 2],
   error_y = dict(
   type = 'data', # value of error bar given in data coordinates
   array = [1, 2, 3], visible = True)
)
data = [trace]
layout = go.Layout(title = 'Symmetric Error Bar')
fig = go.Figure(data = data, layout = layout)
iplot(fig)

下面给出的是上述代码的输出。

误差线图

不对称错误图通过以下脚本呈现-

trace = go.Scatter(
   x = [1, 2, 3, 4], 
   y =[ 2, 1, 3, 4],
   error_y = dict(
      type = 'data',
      symmetric = False,
      array = [0.1, 0.2, 0.1, 0.1], 
      arrayminus = [0.2, 0.4, 1, 0.2]
   )
)
data = [trace]
layout = go.Layout(title = 'Asymmetric Error Bar')
fig = go.Figure(data = data, layout = layout)
iplot(fig)

相同的输出如下-

不对称误差线