Python科学计算与数据处理—绘制精美的图表.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Python科学计算与数据处理—绘制精美的图表
Matplotlib是python中最著名的绘图库。matlab提供了一套类似于MATLAB的命令API,非常适合交互式绘图。
而且可以作为绘图控件方便地嵌入到图形用户界面应用程序中。
它的文档非常完整,在图库页面中有数百个缩略图。打开后,有源程序。
因此,如果你需要画一个特定类型的地图,你基本上可以通过浏览、复制和粘贴来完成。
显示页面地址:快速绘图快速绘图matlab plot库的pyplot子库提供了一个类似MATLAB的绘图API,方便用户快速绘制三维图表。
(matplotlibsimpleplotpy)pylab模块matplotlib还提供了一个名为pylab的模块,该模块包含了numpy和pyplot中常用的许多功能,以方便用户快速计算和绘制,并可用于IPython中的快速交互使用。
快速绘图库中的快速绘图函数库可以通过以下语句加载:下一步调用图形创建一个绘图对象并使其成为当前绘图对象。
figsize参数允许您指定绘图对象的宽度和高度单位。英寸dpi参数指定绘图对象的分辨率,即每英寸多少像素。默认值为。
因此,本例中创建的图表窗口的宽度为* =像素。
IMPORTMATplotLIBPYPLOTASPTLTPLTFIGURE(Figure Size =(,))也可以在不创建绘图对象的情况下进行快速绘图。直接调
用下面的PLOT函数直接绘制一个绘图matplotlib将自动创建一个绘图对象。
如果需要同时绘制多个图表,可以通过传递一个整数参数来指定图形图标的序列号。如果具有指定序列号的图形对象已经存在,它不会创建新对象,而只会使其成为当前图形对象。
以下两行程序通过调用绘图函数在当前绘图对象中绘制:绘图绘图绘图(x,y,label = $ sin (x) $,color = red,linewidth =)绘图绘图绘图(x,z,b,label = $ cos (x) $)调用绘图函数的方法很灵活。在第一句传递x,y数组进行绘图后,使用关键参数指定各种属性:bulllabel:为绘制的曲线命名。这个名字显示在图例中。
只要在字符串前后添加# # $ # # #符号matplotlib,就将使用其嵌入式latex引擎绘制的数学公式。
Bullcolor:指定曲线的颜色bulllinewidth:指定曲线的宽度第三个参数lsquorsquob ``指定曲线的颜色和线型Pltlot (x,y,label = $ sin (x) $,color = red,lineWidth =) Pltlot (x,z,b,Label = $ cos (x) $)快速绘制下一步,绘图对象的各种属性是通过一系列函数来设置的:bull label:设置X轴和Y轴的文本bulltitle:设置图表的标题bullylim:设置Y轴的范围bulllegend:显示图表最后,调用pltshow()来显示所有创建的绘图对象。
PLT Label(time(s))PLT Label(volt)PLT title(pyplot first example)PLT lim(,)pltllegend()quick drawing importnumppyanpmportationplotlibpyplotaspltx = NPL space(,)y =
npsin(x)z = npcos(x * *)PLT fig size =(,))pltplot(x,y,label=$sin(x)$,color=red,line width =)PLT PLT plot(x,z,b,Label = $ cos (x)图像格式由图像文件的扩展名决定。
以下程序将当前图表保存为testpng,并通过dpi参数指定图像的分辨率,以便输出图像的宽度为X=像素。
事实上,您不需要调用show()来显示图表。您可以使用保存图()将图表直接保存为图像文件。使用这种方法,您可以很容易地编写程序RunmatPlolibSimplePlotsAthaveFig(TestPng,DPI =)来快速绘制多轴图。一个绘图对象(图形)可以包含多个轴。在MatPlotLib中,您可以使用轴来表示绘图区域,这可以理解为子图。
在上面的第一个示例中,绘图对象仅包括一个轴,因此仅显示一个轴(轴)。
您可以使用子图功能快速绘制多轴图表。
子图函数的调用形式如下:子图(numRows,numCols,Plotnum)快速绘图子图将整个绘图区域分成Numrows行和Numcols 子区域列,然后从左到右从上到下对每个子区域进行编号。左上角子区域的编号是。
如果三个数字numRowsnumCols和plotNum小于,它们可以缩写为整数,例如子图()和子图(,,)是相同的。
子图在由plotNum指定的区域中创建轴对象。
如果新创建的轴与先前创建的轴重叠,则先前的轴将被删除。
以下快速绘制过程创建总共有轴的行和列。通过axisbg参数为每个轴设置不同的背景颜色。
如果希望轴占据整个行或列,可以调用子图形:对于IDX,ColorineNumerate (RGBYCK): PLT子图形(IDX,Axisbg = color)pltshow()pltsubplot()#第一行左pltsubplot()#第一行右pltsubplot()#第二个全行plts how()快速绘图当绘图对象中有多个轴时,可以通过工具栏中的“配置子图形”按钮交互式调整轴间距以及轴与边框之间的距离。
如果你想在程序中进行调整,你可以调用subplotsadjust函数,它有几个关键参数,如左、右、下、上、下空间、空间等等。这些参数的值是介于之间的小数,它们是由绘图区域的宽度和高度标准化的坐标或长度。
快速绘制子图()返回它创建的轴对象。您可以用变量保存它,然后用sca()替换它们,使其成为当前的Axes对象,并调用plot()在其中绘制。
如果需要同时绘制多个图表,可以向Figure()传递一个整数参数,以指定Figure对象的序列号。如果序列号指定的图形对象已经存在,则不会创建新对象,而只会创建当前图形对象。
以下过程演示了如何依次在不同图形的不同子图形中绘制曲线。
(matplotlibmultifigurepy)快速绘图首先,通过图(),创建了两个分别具有和序列号的图表。