本文主要介绍《Beginning Python》中的“Project 2 : Painting a Pretty Picture”,通过这个工程,读者可以学习到以下知识:
1)简单的“数据可视化”
2)python画图
3)几个python库:reportlab、urllib、pyx、wxpython、matplotlib/pylab
一、项目综述
这个项目主要演示如何用python进行数据分析和数据可视化。它选取的是:从“Space Weather Prediction Center”的网站上(http://www.swpc.noaa.gov/)获取一份“data about sunspots”(太阳黑子数据),并将这份数据画出“polyline chart”(多段线图),然后导出为PDF文件。数据和图如下:
1)部分数据样本
# Predicted Sunspot Number And Radio Flux Values
# With Expected Ranges
#
# -----Sunspot Number------ ----10.7 cm Radio Flux----
# YR MO PREDICTED HIGH LOW PREDICTED HIGH LOW
#--------------------------------------------------------------
2007 12 4.8 5.0 4.7 67.6 70.4 64.7
2008 01 4.3 4.4 4.2 66.7 69.5 63.8
2008 02 4.0 4.1 3.9 66.1 68.9 63.2
2008 03 4.2 4.3 4.0 65.7 68.6 62.8
2008 04 4.6 4.8 4.4 65.7 68.6 62.7
2008 05 5.2 5.6 4.9 65.6 68.7 62.5
2008 06 5.8 6.3 5.2 65.2 68.5 62.0
2008 07 6.3 7.1 5.5 64.9 68.4 61.4
2008 08 7.4 8.6 6.3 65.1 68.9 61.2
2008 09 8.6 10.2 7.0 65.4 69.6 61.2
注:实际数据网址是:ftp://ftp.swpc.noaa.gov/pub/weekly/Predict.txt
2)多段线图
注:这是从PDF文件中截取的,实际生成的是一个PDF文件。
二、探索ReportLab和urllib
这个工程中主要用到了两个python模块:reportlab和urllib。此外,作者也提到了可以使用pxy、wxpython和matplotlib来替代reportlab。下面先来探索一下这个几个库。
1,Exploring Modules
《Beginning Python》第10章“