当前位置:网站首页>Matplotlib draws three-dimensional scatter and surface graphs
Matplotlib draws three-dimensional scatter and surface graphs
2022-07-05 04:26:00 【Bai Yanling】
This blog post mainly introduces how to use matplotlib The library draws three-dimensional scatter diagrams and surface diagrams .
Three dimensional scatter plot
numpy Of random.rand(d0,d1,d2…) Function generates obedience according to dimension 0~1 Uniformly distributed random sample points ;
x、y、z They are all one-dimensional arrays
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import numpy as np
def randrange(n, vmin, vmax):
return (vmax - vmin)*np.random.rand(n)
fig = plt.figure()
ax = fig.add_subplot(projection="3d")
n = 100
x = randrange(n,0,20)
y = randrange(n,0,20)
z = randrange(n,-30,-5)
ax.scatter(x,y,z,marker="^")
ax.set_xlabel("X Label")
ax.set_ylabel("Y Label")
ax.set_zlabel("Z Label")
ax.set_title("3D scatter plot")
plt.show()
3D Surface graph
Here we need to use numpy Of meshgrid() Function generation x and y Grid point coordinates (x,y), That is to say, put the first and second coordinates of the elements in the Cartesian product of two arrays into two matrices respectively . When drawing a surface ,z It has to be two-dimensional .
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(projection="3d")
x = np.arange(-5,5,0.5)
y = np.arange(-5,5,0.5)
x,y = np.meshgrid(x, y)
z = np.sqrt(x**2 + y**2)
ax.plot_surface(x,y,z)
ax.set_xlabel("X Label")
ax.set_ylabel("Y Label")
ax.set_zlabel("Z Label")
ax.set_title("3D surface plot")
plt.show()
When drawing a surface , We can also add color and colorbar
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(projection="3d")
x = np.arange(-5,5,0.5)
y = np.arange(-5,5,0.5)
x,y = np.meshgrid(x, y)
z = np.sqrt(x**2 + y**2)
#rstride Indicates the line step size ,cmap Color the surface
surf = ax.plot_surface(x,y,z,rstride=1,cstride=1,cmap=plt.cm.viridis)
#colorbar You can add a color bar to the image
fig.colorbar(surf)
ax.set_xlabel("X Label")
ax.set_ylabel("Y Label")
ax.set_zlabel("Z Label")
ax.set_title("3D surface plot")
plt.show()
边栏推荐
- Uncover the seven quirky brain circuits necessary for technology leaders
- [moteur illusoire UE] il ne faut que six étapes pour réaliser le déploiement du flux de pixels ue5 et éviter les détours! (4.26 et 4.27 principes similaires)
- Sword finger offer 04 Search in two-dimensional array
- 如何优雅的获取每个分组的前几条数据
- Power management bus (pmbus)
- Learning MVVM notes (1)
- How can CIOs use business analysis to build business value?
- C26451: arithmetic overflow: use the operator * on a 4-byte value, and then convert the result to an 8-byte value. To avoid overflow, cast the value to wide type before calling the operator * (io.2)
- 学习MVVM笔记(一)
- Sequelize. JS and hasmany - belongsto vs hasmany in serialize js
猜你喜欢
TPG x AIDU | AI leading talent recruitment plan in progress!
蛇形矩阵
File upload bypass summary (upload labs 21 customs clearance tutorial attached)
Threejs Internet of things, 3D visualization of factory
SPI read / write flash principle + complete code
Discussion on the dimension of confrontation subspace
线上故障突突突?如何紧急诊断、排查与恢复
【thingsboard】替换首页logo的方法
10 programming habits that web developers should develop
Key review route of probability theory and mathematical statistics examination
随机推荐
【UNIAPP】系统热更新实现思路
User behavior collection platform
线上故障突突突?如何紧急诊断、排查与恢复
[moteur illusoire UE] il ne faut que six étapes pour réaliser le déploiement du flux de pixels ue5 et éviter les détours! (4.26 et 4.27 principes similaires)
level18
Label exchange experiment
Network layer - forwarding (IP, ARP, DCHP, ICMP, network layer addressing, network address translation)
Bit operation skills
Ctfshow 2022 Spring Festival welcome (detailed commentary)
这是一个不确定的时代
Here comes the Lantern Festival red envelope!
Study notes 7
[illusory engine UE] method to realize close-range rotation of operating objects under fuzzy background and pit recording
Function (basic: parameter, return value)
指针函数(基础)
[phantom engine UE] the difference between running and starting, and the analysis of common problems
Threejs loads the city obj model, loads the character gltf model, and tweetjs realizes the movement of characters according to the planned route
Behavior perception system
【虚幻引擎UE】打包报错出现!FindPin错误的解决办法
Hexadecimal to octal