Python数据交互式可视化 - 静态可视化

创建表示数据中全局模式的图

在本文中,我们将研究在数据中呈现全局模式的图的背景,例如:

  • 显示数据中各个特征的方差的图表,例如直方图
  • 显示数据中存在的不同特征彼此之间如何变化的图,例如散点图,折线图和热图

大多数数据科学家更喜欢看到这样的图,因为它们给出了感兴趣的特征所采用的整个值范围的概念。 描绘全局模式的图也很有用,因为它们使发现数据异常更加容易。

我们将使用一个名为mpg的数据集。 它由卡内基梅隆大学维护的StatLib库发布,可在seaborn库中找到。 它最初用于研究里程数-每加仑英里数(MPG)与数据集中其他特征的关系; 因此,名称为mpg。 由于数据集包含3个离散特征和5个连续特征,因此非常适合于在本文中说明多个概念。

您可以使用以下命令查看数据集的外观:

import seaborn as sns
# load a seaborn dataset
mpg_df = sns.load_dataset("mpg")
print(mpg_df.head())

输出结果:

图略

现在,让我们看一下几种不同的图,以显示此数据并从中得出统计见解。

散点图

我们将生成的第一种图是散点图。 散点图是表示数据集中两个要素的值的简单图。 每个数据点由一个点表示,该点的x坐标为第一要素的值,y坐标为第二要素的值。 散点图是了解更多有关两个这样的数值属性的好工具。

散点图可以帮助挖掘数据的不同要素之间的关系,例如天气和销售,营养摄入和健康统计数据。

创建静态散点图

我们将生成一个散点图,以从mpg数据集中检查车辆的重量与里程(mpg)之间的关系。 为此,请执行以下步骤:

  • 打开Jupyter笔记本并导入必要的Python模块:
import seaborn as sns
  • 从seaborn导入数据集:
mpg_df = sns.load_dataset("mpg")
  • 使用scatterplot()函数生成散点图:
# seaborn ('version 0.9.0 is required')
ax = sns.scatterplot(x="weight", y="mpg", data=mpg_df)

输出结果:

图略

请注意,散点图显示里程数(mpg)随着重量的增加而下降。 这对于了解数据集中不同要素之间的关系很有用。

六角分箱图

还有一个更高级的散点图版本,称为六边形合并图(hexbin图)–当行和列都对应于数值属性时,可以使用此方法。 在有大量数据点的情况下,散点图上绘制的点最终可能会重叠,从而导致图形混乱。 在这种情况下,很难推断趋势。 使用hexbin图,可以使用较深的阴影显示同一区域中的许多数据点。 六边形图使用六边形表示数据点的群集。 较暗的条带表示在x轴和y轴上相应范围的要素中存在大量点。 较亮的垃圾箱表示较少的点。 空白区域不对应任何点。这样,我们最终得到了一个更清晰的图形,更易于阅读。

我们将生成一个六边形分箱图,以更好地了解重量与里程(mpg)之间的关系。 让我们完成以下步骤:

  • 导入必要的Python模块
import seaborn as sns
  • 从seaborn导入数据库
mpg_df = sns.load_dataset("mpg")
  • 使用jointplot绘制一个十六进制图,并将其设置为十六进制:
## set the plot style to include ticks on the axes.
sns.set(style="ticks")
## hexbin plot
sns.jointplot(mpg_df.weight, mpg_df.mpg, kind="hex",
color="#4CB391")

注意上面代码中提到的seaborn的jointplot函数。 它定义了我们在哪里提供x轴和y轴的值,以及指定kind参数(此处设置为hex)以构建绘图。

输出结果:

图略

您可能会注意到,顶部和右侧轴上的直方图分别描绘了由x和y轴表示的要素(在此示例中为mpg和weight)的方差。 此外,您可能在上一个散点图中已经注意到,数据点在某些区域中大量重叠,从而掩盖了要素的实际分布。 当数据点非常密集时,六边形图是一个很好的数据可视化工具。

等高线图

详情参阅 - 亚图跨际

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值