全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 python论坛
13510 2
2019-01-05
悬赏 60 个论坛币 已解决
复制代码
第二种:
复制代码
请问二者是否等价?如果等价,是什么原因?

最佳答案

zhuming1992 查看完整内容

请楼主先搞清楚Python和matplotlib(mpl)的主要两种编程范式:函数式编程和对象式编程,这里我不展开讲。通常的说,plt.XX之类的是函数式绘图,通过将数据参数传入plt类的静态方法中并调用方法,从而绘图。fig,ax=plt.subplots()是对象式编程,这里plt.subplots()是返回一个元组,包含了figure对象(控制总体图形大小)和axes对象(控制绘图,坐标之类的)。进行对象式绘图,首先是要通过plt.subplots()将figure类和axes类实例化也就是代 ...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2019-1-5 12:30:11
请楼主先搞清楚Python和matplotlib(mpl)的主要两种编程范式:函数式编程和对象式编程,这里我不展开讲。通常的说,plt.XX之类的是函数式绘图,通过将数据参数传入plt类的静态方法中并调用方法,从而绘图。fig,ax=plt.subplots()是对象式编程,这里plt.subplots()是返回一个元组,包含了figure对象(控制总体图形大小)和axes对象(控制绘图,坐标之类的)。进行对象式绘图,首先是要通过plt.subplots()将figure类和axes类实例化也就是代码中的fig,ax,然后通过fig调整整体图片大小,通过ax绘制图形,设置坐标等等。
函数式绘图最大的好处就是直观(我不觉得简单),即使没多少基础,也能一眼看出来,但如果绘制稍微复杂的图像,或者过子图操作,就不如对象式绘图了。
回到楼主的代码,ax.set_title()是给ax这个子图设置标题,当子图存在多个的时候,可以通过ax设置不同的标题
复制代码
ax_subplot.jpg


如果仅仅是调用plt.title()给多个子图上标题,就比较麻烦了
复制代码
很明显,同样是绘制两个子图函数式方法就比对象式方法要麻烦很多。
plt_subplot.jpg

如果只是绘制一个图片的话,plt.title()和ax.set_title()没什么区别,只是编程范式不同。

最后,我也看了楼主平时的提问,还是建议楼主先把Python的基础语法学扎实些,再细分到具体领域。像面向对象,函数式编程这些Python的基础语法都有的。
PS. 觉得回答可以就赏个币吧
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2019-1-5 18:27:33
zhuming1992 发表于 2019-1-5 12:30
请楼主先搞清楚Python和matplotlib(mpl)的主要两种编程范式:函数式编程和对象式编程,这里我不展开讲。通常 ...
多谢前辈指点!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群