幼儿饰品瑜伽美体用品微软
投稿投诉
微软创意
爱情通信
用品婚姻
爱好看病
美体软件
影音星座
瑜伽周边
星座办公
饰品塑形
搞笑减肥
幼儿两性
智家潮品

Matplotlib快速入门

  这个教程包含了些基础的用法示例和练习,可以帮助您很快熟悉Matplotlib。
  importmatplotlibasmpl
  importmatplotlib。pyplotasplt
  importnumpyasnp一个简单示例
  Matplotlib将您的数据绘制在Figures(画布)上,每一张画布上可以包含一个或多个Axes(坐标系,您可以把坐标(x,y)显示在Axes中,极坐标中的(theta,r),3D坐标的(x,y,z)等)。创建带坐标系的图形的最简单的方法是使作pyplot。subplots(),然后就可以用Axes。plot()方法来在坐标轴上绘制数据。
  fig,axplt。subplots()创建一张画布,上面有一个坐标系
  ax。plot(〔1,2,3,4〕,〔1,4,2,3〕)往坐标系上绘制数据
  〔matplotlib。lines。Line2Dat0xffff91a037f0〕
  png
  Figure的结构
  Figure统筹了所有的子坐标系,那是一组特殊的Artists(包含标题、图例、色条等),甚至嵌套的subfigures。创建新Figure最简单的方法是用pyplot,如:
  fig1plt。figure()一个没有坐标系的空画布,不显示
  fig2,axplt。subplots()包含一个坐标系的画布
  fig3,axsplt。subplots(2,2)包含22坐标系阵列的画布
  png
  png
  将轴与图形一起创建是很方便,但可能不够灵活,您也可以后期手动添加坐标系,要注意,很多Matplotlib后端支持缩放和平移。Axes
  Axes坐标系,可以把它当成一个Artist(画家,我感觉画纸可能更贴切一些),把他绑定到画板(Figure)上,它包含一个可以画图的区域,一般包含2个(3D图的话是3个)Axis(数轴)对象,Axis对象(注意和Axes对象区别,一个是数轴,一个是坐标系)提供了ticks和ticklabels来显示坐标轴的刻度,每个Axes坐标系也有一个title(通过settitle()方法来设置),一个xlabel(通过setxlabel()设置),一个ylabel(通过setylabel()方法来设置)。
  Axes类及其成员函数是使用OOP接口的主要入口,里面定义了大多数的绘图方法,比如ax。plot()Axis
  Axis对象设置比例尺和数值范围,生成标记(ticks,轴上的记号)和标记名(ticklabels,标记记号的字符串),记号的位置由Locator对象确定,标记名字符串由Formatter格式化。正确地组合使用Locator和Formatter可以精准控制刻度位置和标签。Artist基本上,Figure上所有的可见对象都是Aritst(甚至Figure,Axes,Axis对象也是),主要包括Text对象,Line2D对象,collections对象,Patch对象等,当Figure开始渲染时,所有的Aritst都被绘制到Axes上,这些Artist不能被其他坐标系共享,也不能从一个坐标系移动到另一个。输入绘图函数的参数类型
  绘图函数需要numpy。array或者numpy。ma。maskedarray作为输入参数,或者可以传入numpy。asarray的参数,类似数组的类,如pandas数据对象和numpy。matrix对象可能无法按预期工作。常用的作法是绘图前将它们转换成numpy。array对象,比如转化成mumpy。matrix
  bnp。matrix(〔〔1,2〕,〔3,4〕〕)
  basarraynp。asarray(b)
  大多数的对象也会解析一个可寻址对象,比如dict,numpy。recarray,pandas。DataFrame。Matplotlib允许您提供数据关键字参数并生成对应于x和y变量的字符串的图象
  np。random。seed(19680801)
  data{a:np。arange(50),
  c:np。random。randint(0,50,50),
  d:np。random。randn(50)}
  data〔b〕data〔a〕10np。random。randn(50)
  data〔d〕np。abs(data〔d〕)100
  fig,axplt。subplots(figsize(5,2。7),layoutconstrained)
  ax。scatter(a,b,cc,sd,datadata)
  ax。setxlabel(entrya)
  ax。setylabel(entryb)
  Text(0,0。5,entryb)
  png编码样式显式和隐式接口
  如上所述,有两种方法可以使用Matplotlib1。显式创建Figures和Axes,并调用它们的方法(面向对象的方法)。2。依靠pyplot隐式创建和管理Figures和Axes,并使用pyplot的函数进行绘图。
  面向对象方法的例子
  xnp。linspace(0,2,100)Sampledata。
  注意,即使是面向对象的风格,我们也用matplotlib。pyplot。figure来创建Figure
  fig,axplt。subplots(figsize(5,2。7),layoutconstrained)
  ax。plot(x,x,labellinear)往坐标轴上画数据。
  ax。plot(x,x2,labelquadratic)。。。
  ax。plot(x,x3,labelcubic)。。。。
  ax。setxlabel(xlabel)设置X轴标记。
  ax。setylabel(ylabel)设置Y轴标记。
  ax。settitle(SimplePlot)设置坐标轴标题。
  ax。legend()增加图例。
  matplotlib。legend。Legendat0xffff8de910f0
  png
  pyplot的例子
  xnp。linspace(0,2,100)
  plt。figure(figsize(5,2。7),layoutconstrained)
  plt。plot(x,x,labellinear)
  plt。plot(x,x2,labelquadratic)
  plt。plot(x,x3,labelcubic)
  plt。xlabel(xlabel)
  plt。ylabel(ylabel)
  plt。title(simpleplot)
  plt。legend()
  matplotlib。legend。Legendat0xffff8de1fe80
  png
  Matplotlib的文档和示例同时使用面向对象的OO和pyplot样式。一般来说,我们建议使用OO风格,尤其是对于复杂的绘图以及打算作为大型项目的一部分重用的函数和脚本。然而,pyplot样式对于快速交互工作非常方便。大家可以根据实践需要来选择。代码复用
  如果您需要使用不同的数据集反复绘制相同的绘图,或者想要轻松包装Matplotlib的方法,可以使用下面的自定义函数
  defmyplotter(ax,data1,data2,paramdict):
  outax。plot(data1,data2,paramdict)
  returnout
  例如:
  data1,data2,data3,data4np。random。randn(4,100)make4randomdatasets
  fig,(ax1,ax2)plt。subplots(1,2,figsize(5,2。7))
  myplotter(ax1,data1,data2,{marker:x})
  myplotter(ax2,data3,data4,{marker:o})
  〔matplotlib。lines。Line2Dat0xffff8dd0a1d0〕
  png
  大多数的绘图方法都有样式选项,这些选项可以在调用plotting方法时调用,或者在Artist中的setter中访问。在下边的绘图中,我们手动设置颜色、线宽、和线的样式,然后使用setlifestyle设置第二行的线条样式。
  fig,axplt。subplots(figsize(5,2。7))
  xnp。arange(len(data1))
  ax。plot(x,np。cumsum(data1),colorblue,linewidth3,linestyle)
  l,ax。plot(x,np。cumsum(data2),colororange,linewidth2)
  l。setlinestyle(:)
  png
  Matplotlib有一个非常灵活的颜色阵列,大多数艺术家都接受它;有关规格列表,请参阅颜色教程。有些艺术家会采用多种颜色。即对于散点图,标记的边缘可以是与内部不同的颜色:
  fig,axplt。subplots(figsize(5,2。7))
  ax。scatter(data1,data2,s50,facecolorC0,edgecolork)
  matplotlib。collections。PathCollectionat0xffff8dc0e048
  png线宽、线型和标记
  Matplotlib的线宽用印刷点来表示(1pt172英寸),可用于描边,类拟地,描边线可以具有自己的线条样式。
  Markersize标记的大小取决与所使用的方法,plot以点为单位指定标记的大小,一般来说是Marker的直径或宽度。
  scatter指定标记大小与标记的可视区域大致成比例。
  一些常用的标记样式Matplotlib已将其设置为字符串代码,当然,用户也可以自定义自已的标记样式。
  fig,axplt。subplots(figsize(5,2。7))
  ax。plot(data1,o,labeldata1)
  ax。plot(data2,d,labeldata2)
  ax。plot(data3,v,labeldata3)
  ax。plot(data4,s,labeldata4)
  ax。legend()
  matplotlib。legend。Legendat0xffff8dc45ba8
  png给图贴标签Axes的标签和文本
  setxlabel、setylabel和settitle用于在指定位置添加文本。也可以使用文本将文本直接添加到绘图中:
  mu,sigma115,15
  xmusigmanp。random。randn(10000)
  fig,axplt。subplots(figsize(5,2。7),layoutconstrained)
  柱状图的数据
  n,bins,patchesax。hist(x,50,densityTrue,facecolorC0,alpha0。75)
  ax。setxlabel(Length)
  ax。setylabel(probability)
  ax。settitle(Aardvarklengths(notreally))
  ax。text(75,。025,rmu115,sigma1539;)
  ax。axis(〔55,175,0,0。03〕)
  (55。0,175。0,0。0,0。03)
  png
  所有的text函数返回一个matplotlib。text。Text实例,您也可以通过向text函数中传入关键字参数来自定义特性。
  tax。setxlabel(mydata,fontsize14,colorred)在文本中使作数学表达式
  Matplotlib接受Tex方程表达式。如:
  ax。settitle(rsigmai1539;)
  Text(0。5,1。0,sigmai1539;)
  我们还可以给绘图填加注释
  fig,axplt。subplots(figsize(5,2。7))
  tnp。arange(0。0,5。0,0。01)
  snp。cos(2np。pit)
  line,ax。plot(t,s,lw2)
  ax。annotate(localmax,
  xy(2,1),
  xytext(3,2),
  arrowpropsdict(facecolorblack,shrink0。05))
  xy是箭头指向的图中的数据点
  xytext是文本开始的数据点,也是箭尾指向的数据点
  ax。setylim(2,2)
  (2。0,2。0)
  png
  有时,为了便于用户理解,我们常常给图加上图例。
  fig,axplt。subplots(figsize(5,2。7))
  ax。plot(np。arange(len(data1)),data1,labeldata1)
  ax。plot(np。arange(len(data2)),data2,labeldata2)
  ax。plot(np。arange(len(data3)),data3,d,labeldata3)
  ax。legend()
  matplotlib。legend。Legendat0xffff8d9ab630
  png坐标系风格和标尺
  每一个坐标系Axis都有两个或三个数轴(Axis)对象对应x轴和y轴(以及z轴),它们控制了Axis的风格,标尺的位置和标尺的格式。
  除了线性比例,Matplotlib还提供了非线性比例,比如对数比例,如loglog,semilogx,semilogy。这里我们手动设一下比例尺。
  fig,axsplt。subplots(1,2,figsize(5,2。7),layoutconstrained)
  xdatanp。arange(len(data1))makeanordinalforthis
  data10data1
  axs〔0〕。plot(xdata,data)
  axs〔1〕。setyscale(log)
  axs〔1〕。plot(xdata,data)
  〔matplotlib。lines。Line2Dat0xffff8d8eb8d0〕
  png
  fig,axsplt。subplots(2,1,layoutconstrained)
  axs〔0〕。plot(xdata,data1)
  axs〔0〕。settitle(Automaticticks)
  axs〔1〕。plot(xdata,data1)
  axs〔1〕。setxticks(np。arange(0,100,30),〔zero,30,sixty,90〕)第一个是ticket,第二个是label,前后一一对应的关系
  axs〔1〕。setyticks(〔1。5,0,1。5〕)notethatwedontneedtospecifylabels
  axs〔1〕。settitle(Manualticks)
  Text(0。5,1。0,Manualticks)
  png日期字符串
  Matplotlib可以处理日期数组、字符串数组以及浮点数的绘制。它们会根据需要获得特殊的标尺和标签。对于日期:
  fig,axplt。subplots(figsize(5,2。7),layoutconstrained)
  datesnp。arange(np。datetime64(20211115),np。datetime64(20211225),
  np。timedelta64(1,h))
  datanp。cumsum(np。random。randn(len(dates)))
  ax。plot(dates,data)
  cdfmpl。dates。ConciseDateFormatter(ax。xaxis。getmajorlocator())
  ax。xaxis。setmajorformatter(cdf)
  png
  关于分类绘图需要注意的一点是,某些分析文本文件的方法会返回字符串列表,即使字符串都表示数字或日期。如果您传递1000个字符串,Matplotlib将认为您是指1000个类别,并将为您的绘图添加1000个刻度!一些其他的轴对像
  在一个图表中绘制不同单位或大小的数据可能需要额外的y轴。这种情况可以通过使用twinx添加一个新的轴来创建,该轴具有一个不可见的x轴和一个位于右侧的y轴(类似于twiny)。如图:
  fig,(ax1,ax3)plt。subplots(1,2,figsize(7,2。7),layoutconstrained)
  l1,ax1。plot(t,s)
  ax2ax1。twinx()
  l2,ax2。plot(t,range(len(t)),C1)
  ax2。legend(〔l1,l2〕,〔Sine(left),Straight(right)〕)
  ax3。plot(t,s)
  ax3。setxlabel(Angle〔rad〕)
  ax4ax3。secondaryxaxis(top,functions(np。rad2deg,np。deg2rad))
  ax4。setxlabel(Angle〔〕)
  Text(0。5,0,Angle〔〕)
  png
  有时候我们想在二维图中表现三维的信息,我们希望在一个由颜色图中的颜色表示的绘图中有一个第三维度。Matplotlib有许多绘图类型可以做到这一点:
  X,Ynp。meshgrid(np。linspace(3,3,128),np。linspace(3,3,128))
  Z(1X2X5Y3)np。exp(X2Y2)
  fig,axsplt。subplots(2,2,layoutconstrained)
  pcaxs〔0,0〕。pcolormesh(X,Y,Z,vmin1,vmax1,cmapRdBur)
  fig。colorbar(pc,axaxs〔0,0〕)
  axs〔0,0〕。settitle(pcolormesh())
  coaxs〔0,1〕。contourf(X,Y,Z,levelsnp。linspace(1。25,1。25,11))
  fig。colorbar(co,axaxs〔0,1〕)
  axs〔0,1〕。settitle(contourf())
  pcaxs〔1,0〕。imshow(Z2100,cmapplasma,
  normmpl。colors。LogNorm(vmin0。01,vmax100))
  fig。colorbar(pc,axaxs〔1,0〕,extendboth)
  axs〔1,0〕。settitle(imshow()withLogNorm())
  pcaxs〔1,1〕。scatter(data1,data2,cdata3,cmapRdBur)
  fig。colorbar(pc,axaxs〔1,1〕,extendboth)
  axs〔1,1〕。settitle(scatter())
  Text(0。5,1。0,scatter())
  png多画板和多轴模式
  您可以使用figplt。figure()或者fig2,axplt。subplots()方法打开多个画板(Figures),在保留对象引用的前提下,您可以向任一画板添加画家(Artists)。
  您可以通过多种方法来添加坐标系,但最基础的方法还是上面用过的plt。subplots(),要想实现更复杂的布局,如跨行列的布局,可以用subplotmosaic()方法。
  fig,axdplt。subplotmosaic(〔〔upleft,right〕,〔lowleft,right〕〕,
  layoutconstrained)
  axd〔upleft〕。settitle(upleft)
  axd〔lowleft〕。settitle(lowleft)
  axd〔right〕。settitle(right)
  Text(0。5,1。0,right)
  png

宋翔郭艾伦若顶薪续约最少要签两年合同第一年不可以转会日前,辽宁队核心后卫郭艾伦已经向辽宁队提出了转会申请。但沈阳媒体表示,辽宁队已经确定对郭艾伦使用顶薪独家签字权。这意味着郭艾伦想要在CBA继续打球的话,那么他必须与辽宁队完成续……谈华为Mate50为什么不会有麒麟芯和5G网传华为Mate50Pro渲染图最近很多评论问小编华为Mate50系列手机会不会有麒麟芯和5G,个人认为不会有。虽然有消息指会有麒麟9000S,但外网也有爆料人士指没有,……54岁英拉逛街,手指着一大碗面条好俏皮,天鹅蛋脸酷似金建希英拉是何许人?她曾经是泰国女总理,长得貌美还是才女,颜值与名气都不输女明星,现在居于国外,偶尔晒出日常冻龄不显老,最新近照曝光,不穿新衣服依然风韵犹存,只是和儿子的父亲感情成谜……早安浦江丨桃花寨【来源:诗画浦江】青青密林,悠悠碧波,走在神丽峡摇摇晃晃的荡漾桥,别有一番风味。神女和陈老相公在此相识后,相互倾慕,情投意合,后来结为神仙眷侣。从此住在恍若人间仙境的桃花……江津大圆洞森林公园1,导航大圆洞森林公园(不要门票),一直走走到没路可走,车停在下图位置,这地方停不了多少车。步行从这里开始。2,沿着登山步道走。3,一路上行人教少,会和大自然深入接……七月再砍单140亿颗进口芯片,美企的麻烦还在后头?继上半年进口芯片砍单290亿颗之后,最新的数据显示,7月份国内进口芯片再次砍单140亿颗。按照这个趋势,今年下半年,国内对进口芯片的需求会进一步下降,美芯片企业估计是有的焦虑了……新闻纵深天籁倾听宇宙的声音国内首个暗能量探测实验设备发现快速射电暴天籁:倾听宇宙的声音中央纪委国家监委网站沈东方天籁立新功!国内首个暗能量探测实验设备天籁实验阵列发现一例新的快速射电暴……沿黑龙江边自驾游名山7。名山宁可心名山是黑龙江边一个比较成熟的风景区,所在地是名山镇。小镇不是很大,大致是从东到西的一长条儿,西边有价位不高的平房民宿,东边是有中心岛的风景区。最好别试……全球首款量子点MicroLED芯片导入量产,不是三星不是苹果7月25日,利亚德集团与参股公司赛富乐斯半导体科技有限公司(Saphlux,Inc。以下简称Saphlux)共同完成了使用NPQDR1MicroLED芯片制备的显示屏幕的开发和……这一仗,苹果还是败了在自研芯片领域,苹果几乎从出道以来就未尝败绩。为iPhone打造的A系列SoC,性能与能效远超安卓竞品;为Mac打造的M系列SoC,出道即叫板英特尔、英伟达旗舰,能效惊人。……奋战五一贵州旅游迎复苏短途出行受热捧来源:【人民网】五一假期开启,万物复苏,春色美好。随着今年贵州省1000万元文旅消费券陆续发放,全省各地景区迎来了旅游小高峰。旅游旺季,既要加快旅游复苏,又要防控疫情毫不……省消委发布五一消费提示请就地就近过节五一假期来临,为帮助全省广大消费者健康安心舒心度假,湖北省消费者委员会近日发布了五一消费提示:假期防疫勿松懈,就地就近过五一。就近过节,感受暮春家乡美目前,我国新冠……
年薪从1200万欧到600万人民币恒大原外援高拉特的神奇之旅据PP体育报道:原广州恒大球功勋球员高拉特与巴西球队桑托斯基本达成协议。双方即将签订一份2年的合同,年薪大概600万人民币。高拉特在桑托斯将会身穿10号球衣。同时艾克森与桑托斯……科比20年生涯创造了很多纪录,但这5个不是难破而是破不了科比的离开现在都是很多NBA球迷的痛,但是他的精神影响了很多人。他在湖人20年生涯,那是经历低谷,也见证了球队高光,20年生涯他创造了很多纪录。不过后辈们还是很生猛,他的不少纪……有翡播出时间网曝《有翡》预计12月跨年播出,会在腾讯视频和湖南卫视上星播出。作为赵丽颖产后复出的第一部剧,还有去年《陈情令》大火的王一博,两位顶流的合作,自然关注度观看量高。剧中赵丽颖饰演……剑三散排玩家JJC体验近乎于无?究其原因,匹配机制落后是主因不管在哪款游戏来说,PVP玩家最注重的永远是游戏体验。可如今的剑网三,PVP玩家在JJC中的体验可谓越来越差,特别是对散排玩家来说。自剑网三重置版上线后,西山居就开……72岁王刚依然无法安享晚年,妻子月开支上百万,还跟儿子相差6对于一个演员来说,最大的成功不在于赚了多少钱,获得了多少奖项,而在于塑造一个经典的人物,一个能被所有观众认可的形象。在这一点上,王刚无疑是一个成功的演员。他塑造的小沈阳非常经典……2021年已离婚的10对明星,有人保持体面,有人撕破伪装,有在王力宏和李靓蕾宣布离婚后,前妻李靓蕾发长文指控王力宏出轨、约P、招女支。一时间,王力宏成了德行有亏的劣迹艺人。王力宏是不可能再拥有国内各项资源了,甚至有可能再也不会出现……巴西队破门豪华观光团笑了!300斤大罗微笑鼓掌,帅气卡卡振臂11月29日消息,北京时间11月29日凌晨,世界杯小组赛G组第2轮,巴西10小胜瑞士提前一轮晋级16强。本场比赛,巴西队第83分钟才打破僵局,把看台上的巴西名宿大罗、卡卡、卡福……浪漫希腊地中海风味美食充满诱惑提到希腊,估计大家第一个想到的就是浪漫的爱情海,想要感受浪漫,希腊是最佳的旅行圣地之一;想要品尝纯正的地中海风味美食,希腊是你的不二选择。作为西方文明的发源地,希腊这个国度充满……吃在西班牙西班牙美食背后的故事西班牙美食是世界美食烹饪的典范,有句话是这样讲的:住在法国,行在美国,吃在西班牙。一句话将西班牙的美食推至世界顶级的位置。它融合了地中海和阿拉伯地区烹饪的精华,广受世界各地美食……骁龙898花落谁家?小米12获成最大赢家无论是用户还是厂商,估计都不会对高通这一代旗舰芯片骁龙888感到满意。用户不停吐槽骁龙888手机发热严重,续航时间不长;而厂商也要不停推出更新固件,降低性能来保证续航,同时也要……湖南饮食文化去栖凤渡吃一碗东汉的鱼粉问眼前这位笑吟吟给我们煮粉的银发老人,几时习得鱼粉神技?老人答:在娘胎里。真真是极娴熟的外交辞令,滴水不漏,竟叫人忽然忘记此时身处的居然是湖南郴州苏仙区栖风渡镇南香村。我……神奇的色彩荷兰最古老的风车村小孩堤防村小孩堤防风车村位于鹿特丹的西南方向,新马斯河的上游,莱克河与诺德河交汇处,是荷兰西部南荷兰省的一个村庄。距鹿特丹东面15公里。这是一个古老的风车村,始建于1740年,它是由19……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网