1.数据可视化
数据可视化指的是通过可视化表示来探索数据,它与数据挖掘紧密相关。而数据挖掘指的是使用代码来探索数据集的规律和关联。
前面,我们练习使用了Python最流行的工具之一matplotlib,它是一个数学绘图库,我们已经使用它来绘制简单的图表,如折线图和散点图。然后,我们基于随机漫步概念生成了一个更有趣的数据集–根据一系列随机决策生成的图表。
我们还使用了Pygal包,它专注于生成适合在数字设备上显示的图表。通过使用使用Pygal,我们可以在用户与图表交互时突出元素以及调整其大小,还可以轻松地调整整个图表的尺寸。我们使用Pygal以各种方式探索掷骰子的结果。
接下来,我们练习了从网上下载数据(数据格式是CSV或者JSON),并对这些数据进行可视化。后来,我们也使用Web API在线获取网站最新数据来生成可视化图表。
2.项目背景描述
经过一段时间的Python数据可视化的学习和练习,我们可以试着做一个数据可视化项目。正好,我们有一个项目缺陷跟踪系统,类似于Bugzilla。我们把数据拷贝到MySQL Server,大概有几万条记录。
我们要通过运行SQL 语句从MySQL Server上获得数据信息,然后根据不同的项目和模块两个维度来分析Bug的数量,最后生成图表。
3.可视化结果
下面的两幅图显示了可视化的部分结果。如果知道项目缺陷跟踪系统,很容易解读。
第一幅图使用了Pygal Stacked Bar来绘图。Pygal 上有一个例子:
import pygal
bar_chart = pygal.StackedBar()
bar_chart.title = 'Browser usage evolution (in %)'
bar_chart.x_labels = map(str, range(2002, 2013))
bar_chart.add('Firefox', [None, None, 0, 16.6, 25, 31, 36.4, 45.5, 46.3, 42.8, 37.1])
bar_chart.add('Chrome', [None, None, None, None, None, None, 0, 3.9, 10.8, 23.8, 35.3])
bar_chart.add('IE', [85.8, 84.6, 84.7, 74.5, 66, 58.6, 54.7, 44.8, 36.2, 26.6, 20.1])
bar_chart.add('Others', [14.2, 15.4, 15.3, 8.9, 9, 10.4, 8.9, 5.8, 6.7, 6.8, 7.5])
bar_chart.render_in_browser()
有关Pygal Bar绘图,详细信息可以参考
http://www.pygal.org/en/stable/documentation/types/bar.html
第二幅图使用了Pygal Line来绘图,Pygal上有一个例子:
import pygal
line_chart = pygal.Line()
line_chart.title = 'Browser usage evolution (in %)'
line_chart.x_labels = map(str, range(2002, 2013))
line_chart.add('Firefox', [None, None, 0, 16.6, 25, 31, 36.4, 45.5, 46.3, 42.8, 37.1])
line_chart.add('Chrome', [None, None, None, None, None, None, 0, 3.9, 10.8, 23.8, 35.3])
line_chart.add('IE', [85.8, 84.6, 84.7, 74.5, 66, 58.6, 54.7, 44.8, 36.2, 26.6, 20.1])
line_chart.add('Others', [14.2, 15.4, 15.3, 8.9, 9, 10.4, 8.9, 5.8, 6.7, 6.8, 7.5])
line_chart.render_in_browser()
有关Pygal Line绘图,详细信息可以参考:http://www.pygal.org/en/stable/documentation/types/line.html
事实上,如果要了解更多有关Pygal的信息,例如:生成不同的图表,我们可以从网站 http://www.pygal.org/en/stable/ 获得较详细的帮助。
4.可视化图表的运用
Python程序可视化生成的图表除了被人解读分析外,也可以截图放进各种文档里外,还可以嵌入进网页,成为网站的一部分。如果可以自动触发,还可以实时自动更新图表。
想要有效地使用可视化结果,更多输出方式可以访问网页:
http://www.pygal.org/en/stable/documentation/output.html