做完3个Python数据可视化图表,我总结出了这些

文丨Chris Moffitt

编译丨姜瑞琪

触脉咨询数据分析师

用过python的人都会面临一个问题,尤其是初学者:我应该选哪个来实现数据可视化?

面对众多的选项,要弄清楚什么时候使用哪个的问题没那么容易。

这就是今天分享这篇文章的初衷,通过列举一些使用频率较高的工具,以及使用它们创建简单的条形图的方法,帮助各位进行简单的梳理。

以下就是将要用来创建绘制数据的示例:

  • Pandas
  • Seaborn
  • Ggplot

在示例中,我将使用pandas进行数据处理并使用它来完成可视化的效果。其实,在大多数情况下,可视化工具可以在没有pandas的情况下使用,但pandas+可视化工具的组合很常见,这是一个很好的起始点。

pandas

我通常会用pandas DataFrame开始制作各种绘图的工作。这样有一个优势,就是pandas提供内置的绘图功能,它是matplotlib之上的一层。

首先,导入我们的模块并将数据放入DataFrame中,此外,还将对数据进行排序并让其限制在前10行中。

所有的示例中使用的预算行都相同,以下是导入DataFrame后前5个项目的样子:

我们可以手动设置外观并创建一个条形图:

如果想保存生成的图像,则需要以下的代码:

制作成功后会如下所示:

如果想对Y轴进行更多格式化,则需要一些matplotlib的操作,而不能仅仅通过pandas来实现。

Seaborn

Seaborn是基于matplotlib的可视化库,它能让数据可视化在视觉上更具有吸引力,并且能够很好的与pandas一起使用。

我喜欢用Seaborn的一点就在于它能够快速更改调色板以使其外观更好看。

标准导入并读取数据:

在使用的时候,我发现一件事情就是必须使用x_order明确设置x_axis上项目的顺序。

对这节代码设置顺序,并设置绘图和条形图颜色的样式:

示例中,我们使用matplotlib旋转x轴标题,以便在实际场景中可以阅读。视觉上,显示看起来不错。理想情况下,可以使用matplotlib中的plt.yticks在y轴上设置刻度线的格式。

ggplot

ggplot与Seaborn相似,都是建立在matplotlib之上,并以一种简单的方式优化提升matplotlib可视化的视觉吸引力。但有一点与seaborn不同,它是R的ggplot2端口,因此,某些API是非Python的,但功能非常强大。

继续导入并读取我们的数据:

现在,我们可以通过将几个ggplot命令连接在一起来构建绘图:

通过使用print p可以显示图形。

实操中,确实需要花一些时间才能弄清楚如何将文本旋转90度,以及如何在x轴上排列标签。

我发现scale_y_continous是一个很酷的功能,它能使标签的使用变得更简单。

如果要保存图像,可以使用ggsave轻松进行:

最终生成的图像。

总结:

使用Python绘制数据图表时,选择太多是好事儿也是坏事儿。这意味着我们需要根据要完成的工作找出适合的方法,去确定这些工具能否有用。

这没办法给出一个明确的定义,以此为基准进行选择。以下是我总结的一些想法:

  • pandas对于简单的绘制图表很方便,但通常需要搭配matplotlib进行使用。
  • seaborn可以支持复杂的可视化方法,在配色方案上也有一定优势。但是,仍需要用matplotlib进行调整。
  • ggplot仍然在不断优化。

希望对各位有所帮助~

原文链接:https://pbpython.com/visualization-tools-1.html,有所删减及修改

发表评论

邮箱地址不会被公开。 必填项已用*标注