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)#ax是matplotlib.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和其他一些东西组成的)
这两个类分别如下:
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为刻度注释。
(此图为转载)
阅读全文
0 0
- Python数据处理笔记——matplotlib篇(一)
- Python数据处理笔记——numpy篇(一)
- Python学习笔记(一)--- Matplotlib
- Python Matplotlib(一)——绘图区域设置
- 【python】Matplotlib画图(一)——散点图scatter
- Python数据可视化—matplotlib笔记
- Python数据可视化—matplotlib笔记
- 数据处理笔记(一)
- 【Python】Matplotlib库(一)
- Python高级数据处理与可视化(二)---Matplotlib绘图基础
- Matplotlib学习笔记(一)
- matplotlib 学习笔记(一)
- Python笔记——Python基础、numpy基础、SciPy、Matplotlib
- python——matplotlib
- Python笔记——Python3.4+Matplotlib详细安装教程
- Python的matplotlib—绘图(3)
- Python地理数据处理之Matplotlib安装使用
- Python+Numpy+Scipy+Matplotlib+IPython(一)
- 常用cmd
- 巨人科技笔试题解
- Android Studio主题设置、颜色背景配置
- 开源的推荐系统
- [golang]简单文件上传服务
- Python数据处理笔记——matplotlib篇(一)
- WOJ1419-无聊的游戏
- 八皇后问题(递归,回溯)
- Android 6.0 运行时权限处理完全解析
- 深度学习(七)—— GAN
- 51nod 1420 数袋鼠好有趣
- java中基础数据和引用类型对栈堆使用
- 图像识别 常用数据集
- Struts2-052漏洞分析