Python使用matplotlib绘制三维图形示例

作者:Kedi 时间:2022-09-14 10:53:14 

本文实例讲述了Python使用matplotlib绘制三维图形。分享给大家供大家参考,具体如下:

用二维泡泡图表示三维数据

泡泡的坐标2维,泡泡的大小三维,使用到的函数


plt.scatter(P[:,0], P[:,1], s=S, lw = 1.5,
        edgecolors = C, facecolors='None')

其中P[:,0], P[:,1]为泡泡的坐标数据,s为泡泡的大小,lw为泡泡的边线宽度,edgecolors为边线颜色,facecolors为填充颜色

代码及注释


# -*- coding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure(figsize=(9,6))
# 泡泡的数量
n = 50
size_min = 50
size_max = 50*50
# Ring position,rand可以产生2维数组
P = np.random.rand(n,2)
# Ring colors R,G,B,A
C = np.ones((n,4)) * (0,0,0,1)
# Alpha color channel goes from 0 (transparent) to 1 (opaque)
C[:,3] = np.linspace(0,1,n)
# Ring sizes
S = np.linspace(size_min, size_max, n)
# Scatter plot
plt.scatter(P[:,0], P[:,1], s=S, lw = 1.5,
        edgecolors = C, facecolors='None')
#range只能排列出整数,在排列小数时可以用到np.arange
plt.xlim(0,1), plt.xticks(np.arange(0,1.1,0.1))
plt.ylim(0,1), plt.yticks(np.arange(0,1.1,0.1))
plt.show()

运行结果:

Python使用matplotlib绘制三维图形示例

三维螺旋线图

Python使用matplotlib绘制三维图形示例

需要导入三维工具mplot3d


from mpl_toolkits.mplot3d import Axes3D

导入了这个工具后才能在add_subplot时添加参数


projection='3d'

完整代码及注释


# -*- coding:utf-8 -*-
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei'] #防止中文乱码
fig = plt.figure(figsize=(9,6))
#添加参数projection
ax = fig.add_subplot(111,projection='3d')
z = np.linspace(0, 6, 1000)
r = 1
x = r * np.sin(np.pi*2*z)
y = r * np.cos(np.pi*2*z)
#c是颜色
ax.plot(x, y, z, label=u'螺旋线', c='r')
ax.legend()
#存成图片,支持png格式
# dpi每英寸长度的点数,画出的三维图是矢量图,可以设置保存的dpi
plt.savefig('3d_fig.png',dpi=200)
plt.show()

注:这里针对中文显示问题做了处理,具体可以参考《Python使用matplotlib绘图无法显示中文问题的解决方法》。

参考网站:

https://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html
https://matplotlib.org/gallery.html

希望本文所述对大家Python程序设计有所帮助。

来源:https://www.jianshu.com/p/5a30e2896cc0

标签:Python,matplotlib,三维图形
0
投稿

猜你喜欢

  • ASP函数过滤数组重复数据代码

    2010-01-02 20:36:00
  • Python制作CSDN免积分下载器

    2021-12-25 03:46:35
  • django之跨表查询及添加记录的示例代码

    2022-11-23 14:44:25
  • Python用摘要算法生成token及检验token的示例代码

    2022-05-30 10:22:10
  • MySQL 8.0.29 安装配置方法图文教程(windows zip版)

    2024-01-17 17:06:44
  • 十行Python代码实现文字识别功能

    2024-01-01 14:55:09
  • python 3.10上如何安装pyqt5

    2022-04-09 23:59:53
  • 深度学习环境搭建anaconda+pycharm+pytorch的方法步骤

    2023-06-27 02:02:49
  • python实现随机密码字典生成器示例

    2022-07-25 17:11:50
  • ORACLE客户端连接服务器的注意事项

    2007-08-17 09:57:00
  • Python 监测文件是否更新的方法

    2022-05-11 02:37:20
  • 利用Python实现智能合约的示例详解

    2022-04-06 00:45:23
  • pycharm中出现no module named xlwt的原因及解决

    2021-10-25 08:21:08
  • 页面只能打开一次Cooike如何实现

    2024-04-22 22:39:32
  • python3新特性函数注释Function Annotations用法分析

    2023-08-09 20:15:29
  • 详谈tensorflow gfile文件的用法

    2021-01-30 20:10:23
  • 德国ebay购头记

    2009-04-29 11:10:00
  • Python实现信息管理系统

    2022-10-08 22:28:39
  • Python产生一个数值范围内的不重复的随机数的实现方法

    2023-09-19 21:48:09
  • python正则表达式函数match()和search()的区别

    2021-10-05 10:25:52
  • asp之家 网络编程 m.aspxhome.com