应用办公生活信息教育商业
投稿投诉
商业财经
汽车智能
教育国际
房产环球
信息数码
热点科技
生活手机
晨报新闻
办公软件
科学动态
应用生物
体育时事

画直线不简单!pythonmatplotlib告诉你为什么

  1说明:
  1。1python的matplotlib画直线,看似简单,其实很难,从简单到复杂,逐步深入,小白秒懂。
  1。2内容:画直线,画圆,画圆点,动画的单摆和圆套圆,好东西在后面,值得收藏。
  1。3环境:
  python3。8matplotlib3。2。0
  2静态画直线:
  2。1line1。pyimportmatplotlib。pyplotaspltimportnumpyasnpxnp。linspace(3,3,100)y2xplt。plot(x,y,r,labely2x)plt。show()
  2。2图1
  2。2line2。pyimportmatplotlib。pyplotaspltimportnumpyasnp坐标点为0,0xnp。linspace(0,3,100)yxplt。plot(x,y,r,labelyx)显示x和y坐标轴刻度起点和终点plt。xlim(4,4)plt。ylim(4,4)plt。show()
  2。3图2:
  2。4复杂一些,加入画圆、画直线和画圆点,代码如下:第1步:导入模块importmatplotlib。pyplotaspltimportnumpyasnp第2步:画圆定义圆的半径r3。0角度thetanp。arange(0,2np。pi,0。01)圆的圆弧线的x和y坐标xrnp。cos(theta)yrnp。sin(theta)画圆的圆弧线,因为直线很小,所以就是圆的圆弧看起来很平滑plt。plot(x,y)第3步:画直线画直线的坐标点为0,0x1np。linspace(0,3,100)y1x1画直线plt。plot(x1,y1,r)补充:画原点圆点plt。scatter(0,0,markero,cr)第4步:相关设置显示x和y坐标轴刻度起点和终点plt。xlim(4,4)plt。ylim(4,4)plt。title(Graphofcircle、linescatter)plt。grid()plt。axis(equal)plt。show()
  2。5图3:
  3动态直线:
  3。1圆和单摆,代码:第1步:导入模块importnumpyasnpfromscipy。integrateimportodeintimportmatplotlib。pyplotaspltimportmatplotlib。animationasanimation第2步:初始化画布和ax定义注意动画需要这个,静态图片可以省略,采用默认fig,axplt。subplots()ax。grid()显示网格第3步:画圆定义圆的半径r3。0角度thetanp。arange(0,2np。pi,0。01)圆的圆弧线的x和y坐标xrnp。cos(theta)yrnp。sin(theta)画圆的圆弧线plt。plot(x,y)第4步:单摆设置g9。8重力无阻力函数定义defpendulumno(w,t,l):th,vwdthvdvglnp。sin(th)returndth,dv2020秒tnp。arange(0,20,0。1)调用scipy的一个函数odeinttrackodeint(pendulumno,(1。0,0),t,args(r,))xdata〔rnp。sin(track〔i,0〕)foriinrange(len(track))〕ydata〔rnp。cos(track〔i,0〕)foriinrange(len(track))〕画单摆线line,ax。plot(〔〕,〔〕,o,lw2)初始化函数definit():ax。setxlim(4,4)ax。setylim(4,4)returnline,刷新函数defupdate(i):提示0,0为直线的圆点坐标是不变的newx〔0,xdata〔i〕〕newy〔0,ydata〔i〕〕line。setdata(newx,newy)returnline,第5步:相关设置plt。title(Graphofcirclependulumno)plt。axis(equal)anianimation。FuncAnimation(fig,update,range(1,len(xdata)),initfuncinit,interval50)plt。show()
  3。2效果图:
  4圆和可转动的半径:
  4。1代码:第1步:导入模块importnumpyasnpimportmatplotlib。pyplotaspltimportmatplotlib。animationasanimation第2步:初始化画布和ax定义注意动画需要这个,静态图片可以省略,采用默认fig,axplt。subplots()ax。grid()显示网格第3步:画圆定义圆的半径r3。0角度thetanp。arange(0,2np。pi,0。01)圆的圆弧线的x和y坐标xrnp。cos(theta)yrnp。sin(theta)画圆的圆弧线plt。plot(x,y)第4步:单摆设置半径直线数据xdata〔rnp。sin(theta〔i〕)foriinrange(len(theta))〕ydata〔rnp。cos(theta〔i〕)foriinrange(len(theta))〕画半径直线line,ax。plot(〔〕,〔〕,o,lw2)初始化函数definit():ax。setxlim(4,4)ax。setylim(4,4)returnline,刷新函数defupdate(i):提示0,0为直线的圆点坐标是不变的newx〔0,xdata〔i〕〕newy〔0,ydata〔i〕〕line。setdata(newx,newy)returnline,第5步:相关设置plt。title(Graphofcircleradius)plt。axis(equal)anianimation。FuncAnimation(fig,update,range(1,len(xdata)),initfuncinit,interval10)plt。show()
  4。2效果图:
  再复杂一些
  5加入sin和cos:
  5。1代码:第1步:导入模块importnumpyasnpimportmatplotlib。pyplotaspltimportmatplotlib。animationasanimation第2步:初始化画布和ax定义注意动画需要这个,静态图片可以省略,采用默认fig,axplt。subplots()ax。grid()显示网格第3步:画圆定义圆的半径r3。0角度thetanp。arange(0,2np。pi,0。01)圆的圆弧线的x和y坐标水平向左移动4个单位x4rnp。cos(theta)yrnp。sin(theta)画圆的圆弧线plt。plot(x,y)第4步:画线设置半径直线数据xdata〔4rnp。sin(theta〔i〕)foriinrange(len(theta))〕ydata〔rnp。cos(theta〔i〕)foriinrange(len(theta))〕画半径直线line,ax。plot(〔〕,〔〕,o,lw2)sin波动线linesin,ax。plot(〔〕,〔〕,lw2)cos波动线linecos,ax。plot(〔〕,〔〕,lw2)初始化函数definit():ax。setxlim(4,4)ax。setylim(4,4)sin和cos线linesin。setdata(〔〕,〔〕)linecos。setdata(〔〕,〔〕)returnline,linesin,linecos,刷新函数defupdate(i):提示0,0为直线的圆点坐标是不变的newx〔4,xdata〔i〕〕newy〔0,ydata〔i〕〕line。setdata(newx,newy)1就是水平向右移动1个单位sinx1np。linspace(0,4,1000)siny2np。sin(2np。pi(sinx0。01i))linesin。setdata(sinx,siny)1就是水平向右移动1个单位cosx1np。linspace(0,4,1000)cosy2np。cos(2np。pi(cosx0。01i))linecos。setdata(cosx,cosy)returnline,linesin,linecos,第5步:相关设置plt。title(Graphofcircle、radius、sincos)plt。axis(equal)anianimation。FuncAnimation(fig,update,range(1,len(xdata)),initfuncinit,interval10)plt。show()
  5。2效果图:
  再画直线怎么办?
  6再复杂些:
  6。1代码:第1步:导入模块importnumpyasnpimportmatplotlib。pyplotaspltimportmatplotlib。animationasanimation第2步:初始化画布和ax定义注意动画需要这个,静态图片可以省略,采用默认fig,axplt。subplots()ax。grid()显示网格第3步:画圆定义圆的半径r3。0角度,0。01越小,速度越慢thetanp。arange(0,2np。pi,0。01)圆的圆弧线的x和y坐标水平向左移动4个单位x4rnp。cos(theta)yrnp。sin(theta)画圆的圆弧线plt。plot(x,y)第4步:直线设置半径直线数据xdata〔4rnp。sin(theta〔i〕)foriinrange(len(theta))〕ydata〔rnp。cos(theta〔i〕)foriinrange(len(theta))〕画半径直线line,ax。plot(〔〕,〔〕,o,lw2)sin波动线linesin,ax。plot(〔〕,〔〕,lw2,labelsin)cos波动线linecos,ax。plot(〔〕,〔〕,lw2,labelcos)连接sin和cos的线linesinl,ax。plot(〔〕,〔〕,o,lw2,labelsinline)linecosl,ax。plot(〔〕,〔〕,o,lw2,labelcosline)水平线lineshuixs和ysxsnp。linspace(6,6,100)ys〔0〕len(xs)plt。plot(xs,ys,b,labellineshui)垂直线linechuixc和ycycnp。linspace(4,4,100)xc〔0〕len(yc)plt。plot(xc,yc,y,labellinechui)初始化函数definit():ax。setxlim(4,4)ax。setylim(4,4)sin和cos的动态波动线linesin。setdata(〔〕,〔〕)linecos。setdata(〔〕,〔〕)sin和cos的连接线linesinl。setdata(〔〕,〔〕)linecosl。setdata(〔〕,〔〕)returnline,linesin,linecos,linesinl,linecosl,刷新函数defupdate(i):提示4,0为直线的圆点坐标是不变的newx〔4,xdata〔i〕〕newy〔0,ydata〔i〕〕圆的半径直线line。setdata(newx,newy)1就是水平向右移动1个单位sinx1np。linspace(0,4,1000)siny2np。sin(2np。pi(sinx0。01i))sin波动线linesin。setdata(sinx,siny)1就是水平向右移动1个单位cosx1np。linspace(0,4,1000)cosy2np。cos(2np。pi(cosx0。01i))cos波动线linecos。setdata(cosx,cosy)newxsinl〔1,xdata〔i〕〕newysinl〔siny〔i〕,ydata〔i〕〕sin连接线,buglinesinl。setdata(newxsinl,newysinl)newxcosl〔1,xdata〔i〕〕newycosl〔cosy〔i〕,ydata〔i〕〕cos连接线,buglinecosl。setdata(newxcosl,newycosl)returnline,linesin,linecos,linesinl,linecosl,第5步:相关设置plt。title(Graphofcircle、radius、sincos)plt。axis(equal)anianimation。FuncAnimation(fig,update,range(1,len(xdata)),initfuncinit,interval10)plt。legend(locupperright)plt。show()
  6。2效果图:
  小bug,留下,可以试试如何改进

如何做好儿童癫痫的家庭管理?相信大家都知道,作为癫痫患儿家长如果能够更好地了解癫痫病的相关病因、患儿在日常生活中的相关注意事项以及癫痫发作的家庭处理方式,癫痫患儿将能够得到更好的治疗。图片来源创客贴……得了高血压,为啥不能多吃盐?看了才明白,原来危害这么大每个确诊高血压的患者,医生都会嘱咐他少吃盐。可是菜里面不放盐多没味啊,高血压患者为什么要少吃盐?这个首先要从盐说起,盐的主要化学成分是氯化钠,是由钠离子和氯离子共同组成的……每15秒就有1名孩子死于肺炎?医生提醒你,生活中这4件事,要刘先生的儿子今年两周岁多点,是个非常活泼可爱的小朋友了,就在去年他正经历了人生中最冷的寒冬,他当时都感觉自己快要撑不下去了,不管是孩子,婚姻,还是自己,好在直到今天,他们依然都……不合格的妈妈萌娃养成记周打卡挑战今年是我当妈的第8年,这8年过的真是糊里糊涂记得当年怀孕了很高兴,加上我胃口特别好,每天都吃很多东西,刚怀孕的时候只有96斤左右,生的时候140斤〔捂……二胎妈妈到底有多累?六位宝妈的道出其中心酸,网友不敢再生最近,社交平台上有一段医院的小视频特别火,视频中是一个年轻的妈妈,抱着两个孩子在医院等待就诊,大的看起来不到两岁,小的也就半岁的样子。这个年轻的妈妈很瘦小,看起来也很疲劳,而两……非镇静ABR技术获批进入中国脑干诱发电位器械一直以欧洲和美国厂商为主,占据市场主要份额,不过近年来,加拿大的听力工业开始奋起直追,先是从助听器分析仪入手,加拿大生产的AudioScan和VeriFit已经……急惊风?速掐商阳穴医者以指甲重掐小儿穴位,以代替针刺治疗疾病,谓之指针。小儿肌肤柔嫩,穴位浅显,虽仅掐之以爪,亦已足够刺激量,虽不用针而病自去也。余临诊间未尝用此法,然曾目睹他人使用,且其……开零食店如何快速提升客流量,且听馋小蝶分析开一家休闲零食加盟店来说,应该如何去宣传,为零食店快速带来客流量呢?馋小蝶休闲零食连锁品牌为大家详细总结了一些方法。开业前夕进行广告宣传工作。把统一的店面形象,广告语,广……这59首经典古诗词,你只知一句,却不知全文有很多古诗名句,我们耳熟能详,却不知其出自哪首诗词。今天,超妈精选了59首含有名句的诗词,我们一起来看全文。01励学篇宋赵恒富家不用买良田,书中自有千钟……各地教师集体晒出工资单,差距太大遭网友质疑,金额假的吧春蚕到死丝方尽,蜡炬成灰泪始干,这句诗是歌颂教师崇高的精神,教师是教育的引导者,更是学生的指明灯,因此大家对教师非常敬重。教师之所以深受大家的欢迎,主要是因为教师是教书育……打工妹的画挂到了美国官邸她出生在西柏坡一个封闭的小山村,从小就对画画感兴趣,家乡的山水都是她画画的对象。她经常拿树枝当笔,贫瘠的土地当纸,蹲在地上有模有样地画很长时间。14岁那年,她初中毕业了,……宝宝头发稀少长得慢是怎么回事?宝宝头发稀少长得慢是怎么回事?1岁前宝宝头发稀少长得慢,多为正常生理现象,2岁后如头发仍较少可能与营养不良有关。刚出生的婴儿头发稀只是一个暂时的生理现象。头发的多少……
银魂2真人版拍摄花絮小栗旬化身女装大佬辣眼睛《银魂2》真人电影近日曝光了一段精彩有趣的制作花絮视频,其中桥本环奈继续展现疯狂颜艺,小栗旬与菅田将晖则化身女装大佬,槽点十足。《银魂2》真人电影的剧情围绕着ldquo;……日本推出怪物猎人主题婚礼用大剑切艾露猫蛋糕《怪物猎人》主题婚礼来了,这次《怪物猎人》官方和BridalFair联动推出了主题婚礼,融合了《怪物猎人》世界观的婚礼现场充斥着各种主题元素,仿佛梦境一般。为了宣传《怪物……被同事孤立,我该怎么办?小时候,好像每个班都会有喜欢拉小团体的人。那时候的小团体很神奇,聚内的同时,更多表现形式其实是排外。不仅会统一排挤孤立团体之外的其他人,内部也总是有如白云苍狗,明明前一天……毕业生迎来好消息,这3类大学生想成为公务员,可免笔试直接上岗公务员是很多学生心中的首选的职业,每年报考的学生非常多,能够成功进入的学生很少,但是这3类学生想要成为公务员不用笔试,就可以直接上岗。学生进入大学之后,接受高等教育,就是……他们办了份儿童英语报纸,暂无稿费,但承诺认真点评每份投稿录取胖宝这两周在个思上英语精读写作夏令营,然后,我意外地从老师的朋友圈发现,他们竟然做了一份儿童报纸。作为一名在FD新闻系读了7年书的人来说,我真的非常非常激动。事实上……用背撞树真是养生秘诀?老人们真是糊涂了,撞一撞其实难白首现在的公园里,如果赶早去公园跑跑步健健身,还能看见不少大爷大妈找准一根树,当自己背部按摩板。这些大爷大妈们,就和被老师点名罚站在后排的学生一样,很不老实,背部有一搭没一搭地撞着……FIFA19确认加入中超包含16支球队在香港动漫电玩节2018中,索尼互动娱乐董事总经理正式公布,足球游戏《FIFA19》将包含中超联赛的所有16支俱乐部球队。在此前就已经有加入中超的传闻,现在终于官宣。随后官方微……衡水中学为何频繁被斥教育工厂?真的毫无人性?答案显而易见万般皆下品,惟有读书高。众所周知的衡水中学位于我国河北省,是衡水市人民政府直属的三所重点高中之一,近年来由于衡水中学的升学率遥遥领先全国其他高中而广为人知。据统计,……漫威限定版电影道具开卖美队盾牌价格不菲数量有限上周,漫威通过推特公布了一项名为ldquo;漫威杰作合集(MarvelMasterworksCollection)rdquo;的新产品,其中包括了漫威电影宇宙的多款限定版电影道……FIFA19确认加入中超联赛!官方中文版同步推出PlayStation香港动漫电玩节2018今日正式开幕,在开幕典礼上,官方正式宣布,EA最新足球游戏大作《FIFA19》将收录中超联赛的全部16支俱乐部,官方简繁中文版游戏也……拍3件!任选3件39!网红ins超火羊绒针织吊带【商品】拍3件!任选3件39!【网红ins超火】羊绒针织吊带券后【39元】拍3件39元!抓紧拍3件!【抢券下单】(lXr3c2EJVYK)【推荐】换季清仓!库……高考700分和现金700万,你会选哪个?学生们的回答很一致文香橙聊教育2021年高考已经结束,2022年的开始也已经开始。高考是学生改变命运的一种方式,更是实现梦想的一种途径,同时还是获得高收入的垫脚石。我国非常的重……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网