Python学习之路14-生成数据

本系列是对入门书籍《Python编程:从入门到实践》的笔记整理,属于初级内容。标题顺序采用书中标题。

从本篇起将用三篇的篇幅介绍如何用Python进行数据可视化。

1. 前言

从本篇开始,我们将用三篇的篇幅来初步介绍如何使用Python来进行数据可视化操作。本篇的内容包括:

  • 绘制简单的折线图;

  • 随机漫步;

  • 使用Pygal模拟掷骰子。

在正式开始之前,需要安装两个扩展包:matplotlibpygal。Python中安装第三方库的方式已在上一个项目中介绍过了,这里不再赘述。

2. 绘制简单的折线图

2.1 简单的折线图

首先我们绘制一个简单的折线图,代码保存到

mpl_squares.py文件中:

Python学习之路14-生成数据

pyplot.plot()函数可以只传入一个squares参数,表示y轴的值,此时将从x0点处开始一一对应。有时这样很简便,但在此例中图标将不正确,所以我们传入了input_values列表,将其与squares列表一一对应。

代码从第10行到15行都可以省了,这些代码只是让图表的信息更全。最终的结果如下:

Python学习之路14-生成数据

2.2 生成散点图

我们使用matplotlib.pyplot中的scatter()函数来生成散点图,将代码保存到scatter_squares.py文件中:

Python学习之路14-生成数据

我们使用了列表生成式来生成y轴的数据,并使用渐变色来绘制图像,pyplot.cm.Blues

matplotlib自带的渐变色,它和c的每一个值对应。通过pyplotaxis()函数来设置每个轴的取值范围。最后将图像保存到本地。生成的图像如下:

Python学习之路14-生成数据

3. 随机漫步

随机漫步指的是:每次行走都完全随机,没有明确的方向,结果是由一系列随机决策决定的。在自然界、物理学、生物学、化学和经济领域,随机漫步都有其实际用途。

使用Python生成随机漫步数据,再使用matplotlib将这些数据绘制出来。首先创建RandomWalk类,代码保存到random_walk.py文件中:

Python学习之路14-生成数据

下面的代码用于生成随机漫步图像,代码保存到rw_visual.py文件中:

Python学习之路14-生成数据

程序通过一个循环类多次绘制随机漫步图;通过pyplotfigure()函数来设置图像的尺寸,figsize的单位是英寸;通过渐变色来绘制图像的路径,颜色由浅到深,并且我们将起点(绿色)和终点(红色)显著标出;最后隐藏坐标轴。最终的图像如下(每次运行的效果都不同):

Python学习之路14-生成数据

4. 使用Pygal模拟掷骰子

首先我们需要创建一个骰子类Dice,将其保存到dice.py中:

Python学习之路14-生成数据

可以自行设定骰子的面数。下面是掷两个骰子50000次,统计俩骰子点数之和的分布的模拟,最后生成了一个矢量文件.svg文件,它能在浏览器中打开,代码如下:

Python学习之路14-生成数据

注意,frequences中的数据依次与hist.x_labels对应。下面是最终结果:

Python学习之路14-生成数据

Pygal让这个图表具有交互性:如果你将鼠标指向该图中的任何数据条,将看到它的具体数据。

5. 小结

本篇主要讲述了:

  • 如何生成数据集以及如何对其进行可视化;

  • 如何使用matplotlib创建简单的图表;

  • 如果使用散点图来探索随机漫步过程;

  • 如何使用Pygal创建直方图,以及如何使用直方图来探索同时掷两个面数不同的骰子的结果。


分享到:


相關文章: