简单的介绍

在Python,数据可视化将有多种选择,正是因为这种多样性,何时以及如何计划是非常具有挑战性的选择。本文包含一些比较流行的工具,以及如何使用它们来创建一个简单的条形图,我会用一些工具来完成下面的示例图中:

在一个示例中,我将使用大熊猫过程数据和视觉。大多数情况下,并不需要与大熊猫一起使用这些工具,但我认为在组合大熊猫与可视化工具是一个非常普遍的现象,因此在本文中是打开一个伟大的方式。

什么是Matplotlib?

Python是许多可视化数据包鼻祖之一。它的功能是非常强大,但也很复杂。您可以使用Matplotlib做任何你想要的,但你想要做的是不容易理解。我不是要告诉Matplotlib例如,本机,因为很多工具(尤其是熊猫和Seaborn)基于Matplotlib轻便包,如果你想了解更多Matplotlib的东西在我的文章 - 有例子作为参考之用几个。

Matplotlib我最不满意的是,它需要太多的工作,以获得合理的可视化图表,但在本文中一些例子,我发现没有太多的代码可以很容易地得到很好的视觉图。在Matplotlib冗长特征的例子,指的是例如本文计划。

方法

浅谈这篇文章的方法。我坚信,如果读者开始阅读这篇文章,他们会指出,更好的方式来使用这些工具。我的目标不是在每种情况下创建相同的图,但它需要大致相同的时间探索以致基本上在每种情况下相同的方式来可视化数据。

在这个过程中,我面临的最大挑战是格式化x轴和y轴,并且根据一些大的标签上,使数据看起来合理,弄清楚如何格式化每个工具的数据我已经花了很多时间,然后我了解他们,剩下的部分比较简单。

另外需要注意的是,巴可使其相对简单的图表,使用这些工具可以创建不同类型的图表,但我的重点更多的是一种简单的格式的一个例子,而不是创新的可视化。此外,由于大的标签,导致一些图表占据了大量的空间,所以我删除他们未经授权,以保证控制的长文章。最后,我调整图像大小,所以任何模糊的图像正在扩大所导致的问题,并不代表真实的图像质量。

最后,我尝试使用Excel的替代,另外,一种心态来实现的例子。我觉得我的例子在报告中显示,e-mail或静态页面才更有说服力。如果您正在评估有关数据,进行实时可视化或通过其他方式分享工具,那么该工具的一个部分提供了很多我没有上眼的功能。

数据集

我们正在处理的数据的前面的描述,我提取从每个类别中的更深的样品,并选择一个更详细的元件。该数据集包含125线,但为了保持它的简单,我只用了前10行,完整的数据集可以在这里找到。

熊猫

我打算用熊猫 数据帧要绘制。幸运的是,大熊猫确实提供了一个内置的图形功能,这是基于matplotlib,然后我会开始使用它。

首先,读取数据导入模块 预算数据帧,而从以前的10对数据进行排序。

我们将使用在所有的例子相同的预算数据,其中以下五种:

现在,调整显示器更美观的风格默认设置,并创建一个图表:

上述数据代码使用柱来完成的主要工作,以创建图表,以及节目和除去 。

下面是存储在PNG格式代码的图表:

图表如下所示(采取使文章部分可控长度):

基本的图表看起来不错,理想情况下,我想要做一些格式轴,但这样做需要使用一些功能matplotlib的。虽然图表已经是完美的视觉图表中使用,而只能通过熊猫不能做更多的自定义。

Seaborn

Matplotlib是基于可视化库。它的目的是使默认数据可视化更悦目。它还旨在简化复杂图表的创建,它可以很好地集成大熊猫。

在这个例子中就不会从其他seaborn其他工具显著不同(译者注:没有seaborn表现出一些独特的特性或功能),我真的很喜欢seaborn多种内置样式,您可以快速修改调色板图表看起来更美丽。其他方面,创建这个简单的图表时,不要使用太多的工作seaborn。

标准导则读取数据包,并:

我发现,我必须使用命令的参数来明确设置轴元素。

下面的代码,提供了一种彩色顺序的x轴,和的条形图:

正如你所看到的,我用的标题matplotlib x轴的旋转强制要能够正确读取。从外观上看,图表看起来不错。理想情况下,我想格式化Y轴比例,但我不知道在没有使用matplotlib的情况下,以及如何格式化。

ggplot

而类似的Seaborn,也是基于matplotlib,旨在提高matplotlib一个简单的方法来可视化视觉吸引力。这是不同的,因为它是一个seaborn端口GGPLOT2语言准备[R。基于这个目标,一些API的接口,虽然不是很强大,但是非常符合Python。

我没有在R之前,使用了ggplot,所以有可能是一个学习的过程,但我能感觉到的吸引力ggplot。图书馆正在积极发展,我希望它可以继续长大,成熟。我认为这将是一个非常强大的工具。在学习过程中,我曾多次试图找出如何实现一些在接入码和谷歌搜索后的特点,我基本上想通了大部分的。

并读取数据包继续导:

现在,让我们通过连接多个ggplot命令构造图:

这似乎看起来有些奇怪 - 尤其是使用图表来显示。然而,我发现它相对简单。

为了弄清楚该文本是怎样旋转90度,以及如何将x轴标签进行排序,你真的要深挖。

我找到最酷的功能是它可以使标签更具吸引力。

如果你想将图表保存为图片,使用ggsave你可以很容易做到:

下面是最终的照片,我知道,灰色可能有点多,但没有费时它可以添加一些颜色。

背景虚化

与前三个库,它不依赖于实施和matplotlib面向可视化的现代浏览器。它的目标是实现交互的web可视化的,所以我的例子很简单。

前导包和读取数据:

不同的手的背景虚化,我需要明确规定了,我需要绘制值。

现在,我们可以得出。下面的代码将实现包含显示在浏览器的图表,如果你想为其他节目使用的HTML页面,你可以节省他们的PNG格式的副本。

以下是PNG图像格式:

正如你所看到的,图很干净。我没有找到一个更简单的方法来格式化y轴。背景虚化有很多功能,但在这种情况下,我没有深入探讨。

Pygal

使用SVG格式创建图表,如果安装了正确的依赖,也可以保存为PNG格式。SVG文件是用于创建交互式的图表非常有用,我也发现,使用这个工具可以很容易地创建图表的一个独特的,极具视觉吸引力。

并进行读取数据包:

我们需要创建一个图表类型,并做一些基本设置:

一个有趣的一点是,它可以很好的格式化的数据,所以在大多数情况下,这个功能是“非常有用”。

现在,我们需要将数据添加到图表,它与地面整合也不是很紧凑的地方,但这次小数据集,你可以直接添加数据。当大量的数据,性能可能是一个问题。

接着,文件渲染SVG和PNG格式:

我想展示SVG的效果确实不错,我喜欢长相独特,赏心悦目的风格。我还发现,我们可以比较容易弄清楚的时候使用这个工具,它可以实现,无法实现什么。我鼓励大家下载了,感觉交互式图表的效果在浏览器。

情节。LY

从其他工具在线工具,是分析和可视化。它有一个强大的API,包含一个版本的Python。基于地块。LY,浏览站的时候,你会看到丰富的交互式图表。得益于良好的,比较容易创建条形图。

您需要设置参考API密钥,一旦成立,它看起来所有的工作,可以无缝。警告点需要的是全部通过绘图区。LY的事情将被张贴上,确保您都可以接受这一点,当然,你可以通过图表为私有。

情节ly可与大熊猫进行无缝集成。在这里,我有我的问题和应对他们的认真负责及时感激。

前导包和读取数据:

而plotly设置数据类型图标:

我决定添加一些额外的布局信息:

最后,绘图数据。这将打开浏览器,并表现出良好的平局图标。起初我没注意到,但你可以用它来保存本地副本,这是一个非常酷的功能。你可以得到丰富的,交互式的报告基于图表的网络的本地副本,并为嵌套在文档中。


您还可以查看,你可以看到很多的强有力的例证,他们站上。

Plot。LY绘制的图形非常有吸引力和高度互动。由于其出色的文档和Python API,以及进入和操作非常简单,所以我最喜欢的情节。立法院本产品。

总结一下

在Python生态系统绘制的数据是好事是坏事。有许多工具来绘制数据,同时选择一件好事是坏事,试图找出哪种工具是适合你取决于你想要达到什么样的。在一定程度上,你需要尝试不同的工具和旧工具来找出适合你的,我觉得这是一个工具,它是最好还是最坏。

下面是我的一些想法:

  • 大熊猫对于非常方便简单,当图表,但你需要学习来实现自定义matplotlib。
  • Seaborn可以支持一些更复杂的可视化方法,但仍需要一定的知识来调节matplotlib。配色方案是一个不错的功能。
  • ggplot看好,但它仍试图在成长。
  • 如果你想建立自己的可视化服务器,背景虚化将是一个强大的工具。但对于一些简单的脚本,使用背景虚化有点小题大做,像。
  • pygal在SVG创建交互式图表和PNG文件是独一无二的。它不是基于matplotlib灵活的解决方案。
  • Plotly您可以创建最具互动图表。您可以保存离线,并创建一个非常丰富的基于网络的可视化。

目前的情况是,我将继续发展ggplot和使用pygal和plotly在需要的地方互动。

欢迎提供意见反馈。我相信,我们有很多关于这一主题的问题和意见。如果我错过了什么或有其他的选择,请告诉我。

我支持奖励翻译更多的好文章,谢谢!


本文链接:6 种 Python 数据可视化工具

您可能也会喜欢

友情链接:

经文 心经唱诵 大悲咒注音