MCM/ICM preparation
first week(matplotlib learning)
pyplot
面向对象的方式(object-oriented)
·折线图 plot
·饼状图 pie
·散点图 scatter
·直方图 hist,hist2d
·条形图 bar,barh
三种方式简介:
pyplot: 经典高层封装。
pylab:将matplotlib 和numpy 合并的模块,模拟matlab编程环境
面向对象的方式:matplotlib的精髓,更基础和底层的方法
1.matplotlib 对象实例
fig=plt.figure()
ax=fig.add_subplott(111) #设置fig的子图类型
返回Axes实例
·学习生成多个子图和生成多张图
·网格的画法 利用plt.grid()来对网格进行定制,包括颜色,宽度,线性等等
2.图例
plt.legend()生成图例
parameter: loc
loc=0,1,2,3... loc=0时为best
ncol = num 分为几列
3.x,y轴的调整
plt.axis([])#调整4个数值
plt.xlim([])#调整一个或者两个数值
plt.ylim([])#调整一个或者两个数值
4.调整坐标轴的刻度&生成日期序列
ax.localtor_params(nbins=20)
ax.localtor_params('x',nbins=20)
5.如何在一个图中添加一条新的坐标轴(双坐标轴)
利用plt.twinx来实现双坐标轴的画法
同理,有twins也有twiny
代码参见homework8
6.在图形中画注释符
利用plt.annotate()方法来进行,具体参加代码homework9
纯文字注释,不使用箭头 具体也参见代码homework9
text公式(数学公式)通过利用TeX公式,来编辑数学公式。 这里注意以$作为开始和结束符 textmath的公式已经在pdf中,可以上传
7.对曲线下面或者曲线之间的区域进行填充
使用fill与fill_between来对其进行处理,那么则可以达到要求
8.生成形状
需要使用patches, import matplotlib.patches as mpatches
patches 中有许多形状,事实上,还有一些其它的形状可以用来做包括指示之类的东西
参见homework11
9.图形的美化
主要是对于函数plt.style.use()进行运行就差不多了,注意查看plt.style.available中的内容,参见homework12
10.绘制极坐标图形
ax=plt.subplot(111,projection='polar')#以极坐标的形式来画图
主要有这样一个参数,可以使得其表示为极坐标,同时,注意极坐标的x,y指的是什么
代码参加homework13
实战检验
1.函数积分图
具体代码直接参见homework14,这里主要强调几点,就是要利用好python中几种常用数据类型的转化,学会处理好其过程。
2.实现图形的展示
具体代码参加homework15,这里要学会对于多个图形的处理,以及如何利用其来实现展示的过程,以及学会如何查阅文档
3.球员能力的分析
这里主要掌握一些很有意思的方法:包括如何输出中文的标签,如何循环实现输出等等,具体参见代码homework16