python编程导论_第八课

学习安排(8月5日-8月6日)
1.主要学习视频Week1
链接(http://www.xuetangx.com/courses/MITx/6_00_2x/2014_T2/about Week1)
2.辅助内容:教材第11章绘图以及类的进一步扩展

绘图

“一图胜千言”,图通常更能直观的表达信息。但很多程序仍然依赖文本信息与用户交流,原因是在很多编程语言中,提供可视化数据太难。幸运的是,在Python中非常简单,Python有很多标准库服务于可视化,包括Numpy, Scipy, MatPlotLib, PyLab等。

PyLab

PyLab是一个Python标准库模块,提供了MATLAB的很多功能。MATLAB是“一种高级的技术计算语言和交互环境,可以用于算法开发、数据可视化、数据分析和数值计算”。本章重点介绍PyLab绘制数据图形的功能,在后面章节中,我们还会介绍一些关于PyLab的更高级的内容。PyLab绘图能力的完整用户指南参见matplotlib.sourceforge.net/users/index.html。本章只提供若干绘图示例,并解释如何用代码生成这些图形。

import pylab
pylab.figure(1) #创建图1
#pylab.plot的两个参数必须是同样长度的序列,第一个参数指定了X轴坐标,第二个指定了Y轴坐标
pylab.plot([1,2,3,4], [1,2,3,4]) #在图1上绘图
pylab.figure(2) #创建图2
pylab.plot([1,4,2,3], [5,6,7,8]) #在图2上绘图
#Pylab中有个概念叫作“当前图”,运行pylab.figure(x)可以将当前图设置为第x个图形,随后的绘图函数调用
#都会作用在这个图上,直到再一次调用pylab.figure。所以写入文件Figure-Addie.png的图是第二张图
pylab.savefig('Figure-Addie') #保存图2
pylab.figure(1) #回到图1
#继续在图1上绘图,只使用了一个参数,这个参数提供了Y值,相应的X值默认为由range(len([5, 6, 10, 3]))产生的序列。在本例中,就是0~3的整数
pylab.plot([5,6,10,3]) 
pylab.savefig('C:\\Users\\yuanq\\Documents\\Figure-Jane') #保存图1
pylab.show() #在屏幕上显示图1和图2

对于每条绘制的曲线:

  • 可以指定标题和坐标轴。pylab.title指定标题,pylab.xlabel、pylab.ylabel分别指定x轴和y轴
  • plot都有一个可选的参数,这个参数是一个格式化的字符串,表示图形中曲线的颜色和线型,由一个颜色标识符和一个线型标识符组成,线型标识符是可选的。格式化字符串的默认值是'b-',表示一条蓝色实线。如果想以黑色圆点绘制本金增长情况,应该使用pylab.plot(values,'ko')替换pylab.plot (values)。如果想查看完整的颜色和线型标识符列表,参见http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot
  • 使用关键字参数还可以改变图形中的字体大小(fontsize)和线条宽度(linewidth)。
principal = 10000 #初始投资
interestRate = 0.05
years = 20
values = []
for i in range(years + 1):
  values.append(principal)
  principal += principal*interestRate
pylab.plot(values, 'ko',linewidth = 10)
pylab.title('5% Growth, Compounded Annually',
fontsize = 'xx-large')
pylab.xlabel('Years of Compounding', fontsize = 'x-small')
pylab.ylabel('Value of Principal ($)')
pylab.show()

我们也可以修改绘图时的默认值,这个操作称为“ rc设置”(rc来源于Unix运行时配置文件的扩展名.rc)。这些默认值保存在一个类似字典的变量中,可以使用pylab.rcParams访问。rcParams中有很多设置项目,完整的列表参见http://matplotlib.org/users/customizing.html。如果你不想花费精力对这些参数进行单独设置,可以使用一个预定义的样式表,具体介绍参见http://matplotlib.org/users/style_sheets.html#style-sheets

#一些常用的rc设置
#设置线宽
pylab.rcParams['lines.linewidth'] = 4
#设置标题字体大小
pylab.rcParams['axes.titlesize'] = 20
#设置坐标轴标签字体大小
pylab.rcParams['axes.labelsize'] = 20
#设置X轴数字大小
pylab.rcParams['xtick.labelsize'] = 16
#设置Y轴数字大小
pylab.rcParams['ytick.labelsize'] = 16
#设置X轴刻度大小
pylab.rcParams['xtick.major.size'] = 7
#设置Y轴刻度大小
pylab.rcParams['ytick.major.size'] = 7
#设置标记点大小,例如,表示点的圆圈大小
pylab.rcParams['lines.markersize'] = 10
#显示图例时,设置图例中标记点的数量
pylab.rcParams['legend.numpoints'] = 1
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容