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

静态 vs 交互式

虽然静态数据可视化是向提取和解释数据集所拥有的价值和信息这一目标迈出的巨大飞跃,但交互性的增加使这些可视化向前迈了一大步。

交互式数据可视化具有以下特点:

  • 它们使您可以通过更改颜色,参数和图与数据进行交互,因此更易于探索。
  • 它们可以轻松,即时地进行操作。 由于您可以与他们互动,因此可以在您面前更改图表。 例如,在本文中,您将创建一个交互式滑块。 当更改此滑块的位置并且所看到的图形发生变化时,您还可以创建复选框,以选择想要查看的参数。
  • 它们使您能够访问实时数据及其提供的见解。 这样可以快速有效地分析趋势。
  • 它们更容易理解,从而使组织可以做出更好的基于数据的决策。
  • 他们消除了拥有多个用于相同信息的图的需求-一个交互式图能够传达相同的见解。
  • 他们可以让你观察关系。

让我们从一个示例开始,了解通过交互式可视化可以实现的目标。 让我们考虑一个注册健身房会员的数据集:

图略

以下是箱形图形式的静态数据可视化,它描述了按性别分类的人们的体重(0是男性,1是女性,2是其他):

图略

我们从该图上可获得的唯一见解是体重与性别之间的关系 - 去该体育馆的男性顾客体重在62kg至91kg之间,女性顾客体重在57kg至86kg之间,其他顾客的体重在61kg至90kg之间。 但是,数据集中存在用于生成该箱形图的第三个特征-年龄。 在前面的静态图中添加此功能可能会导致在理解数据方面的混乱。 因此,对于使用静态可视化显示所有三个功能之间的关系,我们有些困惑。 通过创建交互式可视化文件,可以轻松解决此问题,如下所示:

图略

在前面的方框图中,为年龄功能引入了一个滑块。 用户可以手动滑动滑块的位置,以观察体重,性别和年龄在不同年龄值之间的关系。 此外,还有一个悬停工具,允许用户获得有关数据的更多信息。

前面的方框图说明,在这个体育馆中,只有46岁的顾客是与众不同的顾客,最重的46岁顾客重82公斤,而最轻的人重56公斤。

用户可以滑动到另一个位置,以观察不同年龄的体重和性别之间的关系,如下图所示:

图略

上图描述了34岁时的数据–没有男性健身客户; 但是,最重的34岁女性客户体重为100公斤,而最轻的女性客户体重为71公斤。

但是,区分静态可视化和交互式可视化时还有更多方面要考虑。 让我们看一下下表:

图略

最终,交互式数据可视化将数据的讨论转变为讲故事的艺术,从而简化了理解数据试图告诉我们的过程。 他们既有益于创建可视化的人(因为他们试图传达的消息和信息被有效且以视觉愉悦的方式传达),也有益于查看可视化的人(因为他们几乎可以立即理解并观察模式和见解) 。 这些方面是将交互式可视化与静态可视化分开的地方。

入门

正如我们前面提到的,交互式数据可视化的关键方面是它能够立即或在很短的时间内响应和响应人类的输入。 因此,人工输入本身在交互式数据可视化中起着重要作用。 在此,我们将研究一些人工输入,如何将其引入数据可视化中以及它们对数据理解的影响。

以下是一些最流行的人工输入和交互功能形式:

  • 滑块:滑块允许用户查看与一定范围内有关的数据。 当用户更改滑块的位置时,绘图实时更改。 这使用户可以实时查看多个图:

图略

  • 悬停:将光标悬停在图的元素上方可以使用户接收到有关数据点的更多信息,而不仅仅是观察图即可看到。 当您希望传达的信息不能适合绘图本身(例如精确值或简短描述)时,这将很有帮助。 让我们看一下一个悬停工具:

图略

  • 缩放:放大和缩小图是许多交互式数据可视化库自己创建的功能。 它们使您可以专注于绘图的特定数据点并仔细查看它们。
  • 可点击参数:可点击参数有多种类型,例如复选框和下拉菜单,它们使用户可以选择要分析和查看的数据的哪些方面。 这里给出一个例子:

图略

有一些Python库可用于创建这些交互式功能,从而使可视化可以接受人工输入。 因此,在开始编码和创建这些交互式功能之前,让我们快速看一下现有的一些最流行的交互式数据可视化Python库。

我们已知两个内置的Python库:

  • matplotlib
  • seaborn

两者在数据可视化社区中都很流行。

有了这些,我们可以建立一个静态可视化(一个静态散点图,显示两个变量之间的关系),如下所示:

图略

尽管matplotlib和seaborn都非常适合静态数据可视化,但还有其他库可以很好地设计交互功能。

以下是两个最受欢迎的交互式数据可视化Python库:

  • bokeh
  • plotly

这些有助于我们创建如下可视化效果:

图略

接下来,我们将同时使用bokeh和plot来创建交互式数据可视化。

bokeh的交互式数据可视化

准备数据库
创建基础静态图

详情参阅 - 亚图跨际

你可能感兴趣的:(Python,python,数据可视化)