matplotlib 基础

我听到的会忘记,我看到的能记住,我做过的才真正明白.


首先利用 (ipython --pylab) 可以进入Pylab 模式,这样IPython配置为使用你所指定的matplotlib GUI后端(TK/wxPython/PyQt/Mac OS X native/GTK)。对于大部分用户而言,默认的后端就已经够用了。Pylab模式还会向IPython引入一大堆模块和函数以提供一种更接近MATLAB的界面。
检查是否正确打开  可以输入 一行代码检测( plot(np.arange(10))  )看是否显示一条直线

首先导入需要使用模块和包

import  matplotlib.pylab as plt 
然后使用画图前首先必须创建一张画板 使用如下代码
  
fig = plt.figure()  

之后需要添加画布   这里用到 add_subplot() 函数
第一种方法:
 ax1 = fig.add_subplot(2,2,1)     #意思是图像是2*2的,当前选中的是4个 subplot 中的第一个( 编号从跟第一个开始)
 ax2 = fig.add_subplot(2,2,2)     #第二个


 第二种方法:更为简便  使用 subplots()

 fig , axes = plt.subplots(2,2)   之后可以使用索引来选择每一个画布如 axes[0,1]

接下来可以调整subplot 周围的间距    这里用到subplots_adjust 方法 

subplots_adjust(let = None, bottom = None, right = None, top = None, wspace = None, hspace = None)

其中wspace 是指 左右两列图之间的距离与单个图的宽度的比值。 hspace 是指上下图。

然后就可以画图了 

ax.plot(x,y,'g--')   其中X,Y就是变量了可以预先指定,g 代表绿色,‘--’代表虚线  其他的线型和颜色可以查询官网文档


接着需要给图表添加刻度标签和图例

这里设定绘图范围可以使用plt.xlim() 和plt.ylim() (或者ax.set_xlim 方法) 如plt.xlim([0,10]) 会将X轴的范围设定在0 到10 

添加刻度 使用 ax.set_xticks([0,250,500,750,1000]) 指定在哪里标刻度  

对应的刻度名称使用 ax.set_xticklabels(['one','two','three']) 

最后使用 ax.set_xlabel('string')  为 x 轴加上名称 

需要标注图例时候 最好的方法就是 在画线时候 时候传入label 参数

如 ax.plot(randn(100).cumsum(),'k' , label = 'one')

   ax.plot(randn(100).cumsum(),'k--',label = 'two')

然后调用ax.legend(loc = 'best') 来自动创建图例.


有时候还需要添加一些自定义的注解  可以通过text 、arrow 、 annotate 等函数添加,

    text 可以将文本绘制在图标的指定 (x, y)位置, 还可以添加一些格式

   ax.text( x, y ,  'hello,world' , fontsize = 10)


再过分一点 可以添加箭头 使用 ax.annotate()

ax.annotate(label , xy =( , ) , xytext = ( , ) , arrowprops = dict(facecolor='black', shrink=0.05))

label 是注释的内容

xy 指定 箭头的位置

xytext 指定注释的位置

arrowprops 指定箭头的颜色 啥的


添加图形时候需要创建一个shp,然后通过 ax.add_patch(shp) 将图添加到 subplot 中

如 添加一个正方形 rec = plt.Rectangle((1,2),0.5 ,0.6 , color = 'k' ,alpha=0.3)

ax.add_patch(rec)


最后将图标保存到文件

plt.savefig('gigpath.png' , dpi = 400 , bbox_inches = 'tight')

第一个参数为保存的名称和格式 ,后两个参数都是有关图像的参数



我们在画图前可以设定默认参数 使用rc

plt.rc('gigure', figsize =(10,10))

第一个参数是自定义对象,如‘figure’ , 'axes'等等,第二个参数是设定的参数 ,实际中我们可以将自定义参数设定成为

一个字典,然后传入plt.rc()


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值