初识Python数据可视化(一)

数据可视化涉及用视觉表示来探索分析数据。 它与数据挖掘紧密相关,数据挖掘使用代码来探索数据的联系。 数据集可以是只有一行代码的一小段数字,或是以GB为单位的大量数据。

一个优秀的数据图表远不止是一个好看,更重要的时让人看到他不曾注意到的数据的联系。

借助Python的高效性,你可以很快速的看到一个基于数百万个的数据的数据集,当然也不只限于数字。


人们使用Python进行遗传学,气候研究,政治和经济分析等领域的数据密集型工作。
数据科学家用Python编写了一系列令人印象深刻的可视化和分析工具,您也可以使用其中的许多工具。

最受欢迎的工具之一是一个数学绘图库,matplotlib

我们将使用matplotlib制作简单的图,例如折线图和散点图。之后,我们将基于随机游走的概念创建一个更有趣的数据集-从一系列随机决策中生成的可视化效果。

我们还将使用名为Pygal的程序包,该程序包专注于创建在数字设备上可以正常使用的可视化。

您可以在用户与可视化交互时使用Pygal来强调和调整元素的大小,并且可以轻松地调整整个的大小以适合小型智能手表或大型显示器。

我们将使用Pygal探索以各种方式掷骰子时会发生的情况。


安装 matplotlib

pip install matplotlib

对于python开发者而言,安装第三方库已不是什么难事。笔者不在此处赘述。

要查看可以使用matplotlib进行可视化的种类,请访问http://matplotlib.org/上的示例库。单击图库中的可视化文件时,您可以看到用于生成图的代码。


绘制简单的线图

我们使用matplotlib绘制一个简单的折线图,然后对其进行自定义以创建我们数据的更直观的可视化。我们将使用平方数序列1,4,9,16,25作为图形的数据。

只需向matplotlib提供如下所示的数字,剩下的就由matplotlib完成:

import matplotlib.pyplot as plt

squares = [1, 4, 9, 16, 25]
plt.plot(squares)
plt.show()

代码运行结果:

我们需要导入pyplot模块,为了在代码中重复输入pyplot,我们使用别名plt
pyplot包含许多函数帮助生成图表。

在第3行,我们创建一个列表来保存1~5的平方,然后将其传递给plot()函数。
使用show()打开matplotlib的查看器并显示该图。

若您使用python自带的IDLE运行该代码,结果及界面如下图所示。查看器允许您缩放和导航图,如果单击磁盘图标,则可以保存所需的任何图图像。

若您使用Pycharm运行该代码,结果及界面如下图所示。

后续将只展示Pycharm的运行结果图。


更改标签类型和图形粗细

观察上一段代码的运行结果,显示的数字在增加,但标签类型太小,线条太细。

matplotlib允许您调整可视化的每个功能。

我们将使用一些可用的自定义项来提高该图的可读性,如下所示:

import matplotlib.pyplot as plt

squares = [1, 4, 9, 16, 25]
plt.plot(squares, linewidth=5)

# 设置图表标题和轴标签
plt.title("Square Numbers", fontsize=24)
plt.xlabel("Value", fontsize=14)
plt.ylabel("Square of Value", fontsize=14)

# 设置标签大小
plt.tick_params(axis='both', labelsize=14)

plt.show()

代码运行结果:

第4行,线宽参数linewidth控制plot()生成的线的粗细。 第7行的title()函数设置图表的标题。

在整个代码中反复出现的fontsize参数控制图表上文本的大小。

使用xlabel()ylabel()函数可以为每个轴设置标题,而函数tick_params()可以为刻度线设置样式。该行显示的参数(axes = 'both')会影响x轴和y轴上的刻度线,并将刻度线标签的字体大小设置为14(labelsize = 14)

如您在上图中看到的那样,该图更容易阅读:标签类型较大,折线图较粗。


校正图

注意到了吗?在图形末尾,4.0的平方显示为25!让我们改正它。

当给plot()一个数字列表时,它假定第一个数据点对应于x坐标值0,但我们的第一个点对应于x值1。

我们可以同时给plot()x的值和y的值。


                
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值