Py学习  »  Python

Python+matplotlib绘制三维图形5个精选案例

Python小屋 • 5 年前 • 638 次点击  

本周推荐书目:《Python程序设计实验指导书》,董付国编著,清华大学出版社

本书详情链接二维码(清华大学出版社天猫官方旗舰店):

送书活动在继续,下周送第二批,详情链接:《Python程序设计实验指导书》出版,狂送300本(第一批)


正文===================

如果要绘制三维图形,首先需要使用下面的语句导入相应的对象:

from mpl_toolkits.mplot3d import Axes3D

然后使用下面的两种方式之一声明要创建三维子图:

ax = fig.gca(projection='3d')

ax = plt.subplot(111, projection='3d')

接下来就可以使用ax的plot()方法绘制三维曲线、plot_surface()方法绘制三维曲面、scatter()方法绘制三维散点图或bar3d()方法绘制三维柱状图了。

在绘制三维图形时,至少需要指定x、y、z三个坐标轴的数据,然后再根据不同的图形类型指定额外的参数设置图形的属性。绘制三维曲面的方法plot_surface()语法如下:

plot_surface(X, Y, Z, *args, **kwargs)

其中常用的参数有:1)rstride和cstride分别控制x和y两个方向的步长,这决定了曲面上每个面片的大小;2)color用来指定面片的颜色;3)cmap用来指定面片的颜色映射表。

绘制三维散点图的方法scatter()语法如下:

scatter(xs, ys, zs=0, zdir='z', s=20, c=None, depthshade=True, *args, **kwargs)

其中常用的参数有:1)xs、ys、zs分别用来指定散点符号的x、y、z坐标,如果同时为标量则指定一个三点符号的坐标,如果同时为等长数组则指定一系列散点符号的坐标;2)s用来指定散点符号的大小,可以是标量或与xs等长的数组;3)表8-3中这里没有提到的其他参数也适用于三维散点图。

绘制三维柱状图的方法bar3d()语法如下:

bar3d(x, y, z, dx, dy, dz, color=None, zsort='average', *args, **kwargs)

其中常用的参数有:1)x、y、z分别用来指定每个柱底面的坐标,如果这三个参数都是标量则指定一个柱的底面坐标,如果是三个等长的数组则指定多个柱的底面坐标;2)dx、dy、dz分别用来指定柱在三个坐标轴上的跨度,即x方向的宽度、y方向的厚度和z方向的高度;3)color用来指定柱的表面颜色。


例1  首先生成测试数据x、y、z,然后绘制三维曲线,并设置图例的字体和字号。


运行结果:

例2  首先生成一组测试数据,然后绘制三维曲面,并设置坐标轴的标签和图形标题。


运行结果:


例3  生成随机测试数据,然后绘制三维柱状图,所有的柱统一使用红色,并且宽度和厚度都为1。


运行结果:


例4  根据Python绘制柱状图显示中国式过马路方式描述的问题和数据,绘制三维柱状图对数据进行展示。


运行结果:


例5  生成三组数据作为x、y、z坐标,每组数据包含30个介于[0,40]区间的随机整数,根据生成的数据绘制三维散点图。


运行结果:



温馨提示

关注本公众号“Python小屋”,通过菜单“最新资源”==>“历史文章”可以快速查看分专题的800篇技术文章列表(可根据关键字在页面上搜索感兴趣的文章),通过“最新资源”==>“微课专区”可以免费观看300节Python微课,通过“最新资源”==>“培训动态”可以查看近期Python培训安排,通过“最新资源”==>“教学资源”可以查看Python教学资源。


--------董付国老师Python系列图书--------

1)《Python程序设计(第2版)》清华大学出版社


2)《Python可以这样学》清华大学出版社


3)《Python程序设计基础(第2版)》清华大学出版社

4)《中学生可以这样学Python》清华大学出版社,配套微课:《中学生可以这样学Python》84节微课免费观看地址


5)《Python程序设计开发宝典》清华大学出版社


6)《玩转Python轻松过二级》清华大学出版社


7)《Python程序设计基础与应用》机械工业出版社


8)《Python程序设计实验指导书》清华大学出版社


9)《Python编程基础与案例集锦(中学版)》电子工业出版社

10)《大数据的Python基础》机械工业出版社,预计2019年5月出版


《中学生可以这样学Python》84节微课免费观看地址

非计算机专业《Python程序设计基础》教学参考大纲

计算机相关专业“Python程序设计”教学大纲(参考)

《Python程序设计》实验指导书(30个实验)

《Python程序设计基础与应用》课后习题答案

Python课程期末考试编程题自动批卷原理与实现模板

“Python小屋”免费资源汇总(截至2018年11月28日)

Python课堂上我与学生斗智斗勇已8个学期


系列教学PPT:

1900页Python系列PPT分享一:基础知识(106页)

1900页Python系列PPT分享二:Python序列(列表、元组、字典、集合)(154页)

1900页Python系列PPT分享三:选择与循环结构语法及案例(96页)

1900页Python系列PPT分享四:字符串与正则表达式(109页)

1900页Python系列PPT分享五:函数设计与应用(134页)

1900页Python系列PPT分享六:面向对象程序设计(86页)

1900页Python系列PPT分享七:文件操作(132页)

1900页Python系列PPT分享八:异常处理结构与程序调试、测试(70页)

报告PPT(163页):基于Python语言的课程群建设探讨与实践

报告PPT(123页):Python编程基础精要

2000页Python系列PPT分享九:(GUI编程)(122页)

Python实验项目1例:使用进程池统计指定范围内素数的个数

(PPT)Python程序设计课程教学内容组织与教学方法实践


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/31862
 
638 次点击