首页 > 编程语言 >Python+matplotlib绘制三维图形5个精选案例

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

时间:2023-06-10 16:36:48浏览次数:62  
标签:Python 三维 matplotlib 指定 散点图 柱状图 坐标 绘制


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

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,然后绘制三维曲线,并设置图例的字体和字号。

Python+matplotlib绘制三维图形5个精选案例_编程语言

运行结果:

Python+matplotlib绘制三维图形5个精选案例_数据可视化_02

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

Python+matplotlib绘制三维图形5个精选案例_编程语言_03

运行结果:

Python+matplotlib绘制三维图形5个精选案例_数据可视化_04

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

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

运行结果:

Python+matplotlib绘制三维图形5个精选案例_编程语言_06

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

Python+matplotlib绘制三维图形5个精选案例_大数据_07

运行结果:

Python+matplotlib绘制三维图形5个精选案例_数据可视化_08

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

Python+matplotlib绘制三维图形5个精选案例_大数据_09

运行结果:

Python+matplotlib绘制三维图形5个精选案例_大数据_10


标签:Python,三维,matplotlib,指定,散点图,柱状图,坐标,绘制
From: https://blog.51cto.com/u_9653244/6454782

相关文章

  • Python文件操作与matplotlib数据可视化案例一则
    问题描述:某商场开业三个月后,有顾客反应商场一楼的手机信号不好,个别收银台有时无法正常使用微信支付或支付宝,商场内也有些位置无法正常使用微信。为此,商场安排工作人员在不同位置对手机信号强度进行测试以便进一步提高服务质量和用户体验,测试数据保存于文件“D:\服务质量保证\商场一......
  • 警惕Python编程中异常处理结构可能的坑
    所谓异常,主要是指由于测试不充分导致在实际运行时遇到意料之外的错误而引发的代码崩溃。例如让用户输入两个数然后输出两个数的商,结果用户把除数输入为0。例如让用户输入文件名然后程序输出其中的内容,结果用户输入的文件名不存在。例如网络临时发生故障导致无法连接服务器。这样的......
  • Python+matplotlib绘制动态更新的柱状图
    问题描述:编写程序,生成测试数据,绘制水平柱状图,然后每隔0.5秒更新一次数据并实时根据最新数据绘制水平柱状图。参考代码:运行效果:公众号“Python小屋”......
  • 详解Python线程对象daemon属性对线程退出的影响
    进程、线程的概念以及多线程编程的基础知识请参考文末给出的方式在公众号历史文章中查找相关文章进行阅读。本文重点介绍线程对象daemon属性在线程退出时产生的作用和影响。首先,我们来看一下官方文档对守护线程(daemonthread)的描述:再来看一下官方文档对线程对象daemon属性的描述:可......
  • Python+pandas使用交叉表分析超市营业额数据
    交叉表是一种特殊的透视表,往往用来统计频次,也可以使用参数aggfunc指定聚合函数实现其他功能。扩展库pandas提供了crosstab()函数用来生成交叉表,返回新的DataFrame,其语法为:crosstab(index,columns,values=None,rownames=None,colnames=None,aggfunc=None,margins=False,dropn......
  • 这9个Python问题你能回答几个?
    周末了,一起开心开心。主要是想提醒一下,在和别人交流时应该详细描述问题,这一点真的非常非常非常重要。1、2、老师,我的代码可以运行,结果如下,我该怎么办?3、4、我的代码运行之后显示这个,请问怎么解决?5、6、怎么破,急,在线等。7、8、9、群里有人吗,谁能告诉我这个怎么办?公众号“Python小屋......
  • Python+pandas使用重采样技术按时间段查看员工业绩
    如果DataFrame结构的索引是日期时间数据,或者包含日期时间数据列,可以使用resample()方法进行重采样,实现按时间段查看员工业绩的功能。DataFrame结构的resample()方法语法为:resample(rule,how=None,axis=0,fill_method=None,closed=None,label=None,convention='start',kind=N......
  • Python快速判断若干整数是否互不相同
    让我们先来看一个简单的问题:给定两个整数x和y,如果这两个数不相等就输出Yes,否则输出No。遇到这样的问题,一般都会毫不犹豫地给出类似于下面的代码:如果问题性质不变,简单地增加一下问题规模:给定三个整数x、y和z,如果这三个数互不相等就输出Yes,否则输出No。估计很多人会在上面代码的基础......
  • 重要更新|《Python程序设计开发宝典》例12-7代码有bug
    下图是《Python程序设计开发宝典》第330页例12-7的代码,本意是使用多线程技术进行文件复制,重点演示嵌套函数定义、多线程编程技术以及队列在多线程同步时的用法。在代码中,使用内嵌函数add()创建一个线程负责往队列q中添加要复制的文件和文件夹名称,使用内嵌函数copy()创建多个线程负......
  • Python文件操作的几个要点与示例
    一般操作文件时,要么是读取其中的内容,要么是往里面写入新内容,但偶尔也会需要同时进行读写。Python内置函数在操作文本文件和自定义二进制文件时比较方便,该函数语法为:open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)其中......