Python数据处理笔记——matplotlib篇(一)

来源:互联网 发布:linux 安装eclipse 编辑:程序博客网 时间:2024/06/05 09:59

关键词:坐标轴范围,图像保存,坐标轴密度,axes自适应figure,matplotlib面向对象,部分理论概念


简单的小例子

import matplotlib.pyplot as plt path = ""plt.plot([4,7,1,9,4])    #绘图,如果只有一个list默认其为Y轴,X轴数据为其索引值plt.ylabel("grade")plt.axis([-2,8,0,12])    #axis函数接收一个list,设定横纵坐标尺度,list各个参数分别代表[X初始刻度,X终止刻度,Y起始刻度,Y终止     刻]plt.savefig(path,dpi = 600)    #savefig函数用来保存图片至path地址,dpi值表示每英寸具有的像素点数plt.show()------这个例子的关键词:坐标轴尺度、图像保存

图片地址:[here](“/Volumes/大白菜/编程学习/python数据处理/Python数据处理记录/matplotlib笔记图片/1.png”)


plt.plot()简介:

plt.plot(x, y, format_string, **kwargs)    #这个函数是绘图的关键函数    #x : X轴数据,列表或数组,可选    #y : Y轴数据,列表或数组    #format_string : 控制曲线的格式字符串,可选    #**kwargs :第二组或更多(x,y,format_string)其中要说明的是format_string,包含的主要类型有颜色字符:'b','k'等风格字符:'-','--'等标记字符:每个数据点的标志方式,'.','*','o'等还要很多其他的参数值,到时候查文档

如何处理坐标轴的密度:

#设置密度之前,需要知道关于axis的一些内容------class matplotlib.axis.XAxis(axes, pickradius=15)Init the axis with the parent Axes instance------class matplotlib.axis.YAxis(axes, pickradius=15)Init the axis with the parent Axes instance------需要用父类Axes的实例对matplot.axis.XAxis进行初始化为一个axis实例(xaxis和yaxis都是axis的子类)axis实例为axes_xaxisfig,ax = plt.subplots()axes_xaxis = matplotlib.axis.XAxis(ax)#axmatplotlib.axes.Axes的一个实例现在axes_xaxis就是一个Axis(XAxis)的实例

此处见过好多直接ax.xaxis.set_major……的使用方法,我的理解是,ax是一个父类的实例,可以直接调用任何的关于matplotlib.axis下的东西。有待考证(可用度不高,测试过,有的可,有的不可)

得出一个结论,能用plt就用plt,尽量不使用axes

#方法一:设置间隔法axes_xaxis.set_major_locator(matplotlib.ticker.MultipleLocator(5))#5代表每隔5个------    #也可以不进行实例化,直接使用如下的方式    ax.xaxis.set_major_locator(matplotlib.ticker.MultipleLocator(5))------#方法二:自动线性调整ax.xaxis.set_major_locator(ticker.LinearLocator(numticks=None, presets=None))------    文档里LinearLocator的介绍    class matplotlib.ticker.LinearLocator(numticks=None, presets=None)    Bases: matplotlib.ticker.Locator    Determine the tick locations    The first time this function is called it will try to set the number of ticks to make       a nice tick partitioning. Thereafter the number of ticks will be fixed so that          interactive navigation will be nice    第一次调用的时候就会根据坐标轴的大小,自动的给设置好留几个tick_label合适------

关键词:坐标轴,密度


axes自动填充满figure

mpl.rc('figure',autolayout = True)#autolyout使axes自适应整个figure框

如何令图片文件名称与title一致

#首先设定了title的内容ax.set_title('一程山路')#然后保存图片是,图片的名称是这个即可plt.savefig('%s.png'%(ax.get_title()),dpi = 300)#其中ax.get_title()即获取title

NOTICE:当使用了twinx()之后,尽量使用如下方式实现图片的保存

fig,ax = plt.subplots()fig.savefig(path,**kwargs)#使用fig实例进行保存操作

关于matplotlib的面向对象

matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)

上面这个函数有两个返回值,他们分别如下:

fig : matplotlib.figure.Figure objectax : matplotlib.axes.Axes object or array of Axes objects.

他们的关系由下图初见端倪:(fig是一个大面板,ax是这个面板上的区域,fig是由ax和其他一些东西组成的)

Plot_area

这两个类分别如下:

class matplotlib.figure.Figure(figsize=None, dpi=None, facecolor=None, edgecolor=None, linewidth=0.0, frameon=None, subplotpars=None, tight_layout=None)------Figure:这个类的实例有很多的方法,如:add_axes(*args, **kwargs)#添加一个axes,返回值是一个Axes实例add_subplot(*args, **kwargs)#添加一个若干个axes,并返回一个Axes实例数组------
class matplotlib.axes.Axes(fig, rect, facecolor=None, frameon=True, sharex=None, sharey=None, label='', xscale=None, yscale=None, axisbg=None, **kwargs)------Axes:这个类的方法有:plot(*args,**kwargs)#实例使用此方法即能绘制图像,并且十分强大scatter(*args,**kwargs)还有与pyplot中一一对应的方法:plt.xlabel()-->ax.set_xlabel()&ax.get_xlabel()#具体查文档------

所以,小例子:

fig,ax = matplotlib.pyplot.subplots()fig.set_size_inches((w,h))ax.plot(x,y)ax.set_xlabel("hello")

理论概念


绘图区域设置

绘图区域概念如下:

在matplotlib中,一个独立的图像(不管有多少小图像)是一个Figure对象,一个Figure对象中可以包含一个或者多个Axes对象,每个Axes对象都是一个拥有自己独立坐标系统的绘图区域,如下:

这里写图片描述(此图为转载)

因此,可以在全局绘图区域中创建一个分区体系,并定位到一个子绘图区域

plt.subplot(nrows,ncols,plot_number)#区域分为nrows行,ncols列,现在绘制第plot_number个子图plt.subplot(3,2,4)#3行2列,选择第4个绘图区域,然后再使用plt.plot(参数)即可进行绘图了

一个Figure对应一张图片。Title为标题。Axis为坐标轴,Label为坐标轴标注。Tick为刻度线,Tick Label为刻度注释。

这里写图片描述(此图为转载)

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 婴儿从鼻孔吐奶怎么办 宝宝习惯含着乳头睡觉怎么办? 宝宝习惯奶瓶不吃乳头怎么办 婴儿从鼻子吐奶怎么办 宝宝从鼻孔出奶怎么办 一个月婴儿溢奶怎么办 刚出生婴儿溢奶怎么办 宝宝含不住乳晕怎么办 宝宝含不了乳晕怎么办 宝宝溢奶一直哭怎么办 宝宝倒奶很多次怎么办 宝宝吃了润肤乳怎么办 奶瓶很难吸出奶怎么办 2个月宝宝奶睡怎么办 孕四个月轻度缺碘怎么办 宝宝吃了奶粉呕吐怎么办 宝宝吃奶只含乳头怎么办 母乳流的太快怎么办 两个月小孩乳头混淆了怎么办 喂奶期间乳房有肿块怎么办 宝宝只吃乳头不吃奶嘴怎么办 宝宝只吃一个乳头怎么办 宝宝只吃乳头不吃奶瓶怎么办 给泰迪奶狗喂奶呛到了怎么办 奶壶喂奶呛到了怎么办 宝宝喝奶瓶老是呛到怎么办 两个月宝宝睡偏头了怎么办 婴儿吐奶豆花状怎么办 吃母乳乳头破了怎么办 顺产后仰卧睡了怎么办 宝宝含着母乳睡怎么办 刚出生的孩子不吃母乳怎么办 月子里挤奶手痛怎么办 做完月子之后腿疼腰疼怎么办 腰疼引起的腿疼怎么办 上网上久了脑袋痛怎么办 莲花坐的脚麻怎么办 月子腿疼膝盖疼怎么办 做月子腿着凉了怎么办 出月子大腿根酸怎么办 出了月子腰酸痛怎么办