您好,登录后才能下订单哦!
这期内容当中小编将会给大家带来有关matplotlib 三维图表如何绘制,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
1. python三维图表绘制方法简介
python三维图表的绘制算是二维图表的一个进阶版本,本质上和二维图表的绘制并无差别,唯一的区别在于使用的库略有差异。
相较于二维图表使用的pyplot库,三维图表的绘制使用的是Axes3D库。
库引入语句为:
from matplotlib import pyplot as plt from mpl_toolkits.mplot3d import Axes3D
上下的操作就和二维图表绘制大差不差了,首先定义三维画布,然后向里面绘制三维图表,最后打印出结果即可。
下面,我们通过一些实例来进行说明。
2. 实例说明
1. 三维曲线图绘制
首先,我们来看一下三维曲线图的绘制。
三维曲线图的绘制和二维曲线图的绘制方法极其相似,只是我们需要做以下两点修改:
另外,plot函数需要修改三维曲线绘制的Axes3D.plot
函数。
给出代码样例如下:
import numpy import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D theta = numpy.linspace(0, 3.14*4, 200) r = numpy.linspace(0, 1, 200) x = r * numpy.cos(theta) y = r * numpy.sin(theta) z = numpy.linspace(0, 2, 200) fig = plt.figure(figsize=(12, 7)) ax1 = plt.axes(projection='3d') ax1.plot(x, y, z) plt.show()
运行即可得到一张三维曲线图。
2. 三维散点图绘制
下面,我们来看一下三维空间中的散点图绘制方法。
其方法其实挺简单的,就是先绘制x、y面的网点坐标,计算相应的z轴高度,而后创建一张三维图,然后通过Axes3D.scatter
函数进行散点图绘制即可。
我们给出具体的代码样例如下:
import numpy import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D x = numpy.linspace(-2, 2, 10) y = numpy.linspace(-2, 2, 10) xx, yy = numpy.meshgrid(x, y) z = xx ** 2 - yy ** 2 fig = plt.figure(figsize=(12, 7)) ax1 = plt.axes(projection='3d') # 创建三维坐标轴 ax1.scatter(xx, yy, z) # 绘制三维散点图 plt.show()
运行即可得到三维散点图。
3. 三维曲面图绘制
三维曲面图的绘制与三维极其类似,只需要将Axes3D.scatter
函数替换为Axes3D.plot_surface
函数即可。
我们就不再多做解释了,直接给出代码样例如下:
import numpy import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D x = numpy.linspace(-2, 2, 10) y = numpy.linspace(-2, 2, 10) xx, yy = numpy.meshgrid(x, y) print(xx.shape, yy.shape) z = xx ** 2 - yy ** 2 fig = plt.figure(figsize=(12, 7)) ax1 = plt.axes(projection='3d') # 创建三维坐标轴 ax1.plot_surface(xx, yy, z) # 绘制三维曲面图 plt.show()
运行即可得到三维曲面图。
3. 参考链接
https://matplotlib.org/tutorials/toolkits/mplot3d.html
Python三维绘图–Matplotlib
到此这篇关于matplotlib 三维图表绘制方法简介的文章就介绍到这了,更多相关matplotlib 三维图表内容请搜索亿速云以前的文章或继续浏览下面的相关文章希望大家以后多多支持亿速云!
上述就是小编为大家分享的matplotlib 三维图表如何绘制了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。