当前位置:网站首页>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()
边栏推荐
- 首席信息官如何利用业务分析构建业务价值?
- Threejs factory model 3DMAX model obj+mtl format, source file download
- 【UNIAPP】系统热更新实现思路
- [popular science] basic knowledge of thermal design: heat dissipation analysis of 5g optical devices
- [untitled]
- 【虚幻引擎UE】实现背景模糊下近景旋转操作物体的方法及踩坑记录
- 直播预告 | 容器服务 ACK 弹性预测最佳实践
- Hexadecimal to octal
- 假设检验——《概率论与数理统计》第八章学习笔记
- Neural networks and deep learning Chapter 4: feedforward neural networks reading questions
猜你喜欢
Live broadcast preview | container service ack elasticity prediction best practice
Fonction (sujette aux erreurs)
Seven join join queries of MySQL
mxnet导入报各种libcudart*.so、 libcuda*.so找不到
程序员应该怎么学数学
Observable time series data downsampling practice in Prometheus
Threejs Internet of things, 3D visualization of farms (II)
【UNIAPP】系统热更新实现思路
直播预告 | 容器服务 ACK 弹性预测最佳实践
[uniapp] system hot update implementation ideas
随机推荐
Mixed compilation of C and CC
直播预告 | 容器服务 ACK 弹性预测最佳实践
10 programming habits that web developers should develop
托管式服务网络:云原生时代的应用体系架构进化
【科普】热设计基础知识:5G光器件之散热分析
[popular science] basic knowledge of thermal design: heat dissipation analysis of 5g optical devices
MacBook installation postgresql+postgis
【FineBI】使用FineBI制作自定义地图过程
How to remove installed elpa package
[finebi] the process of making custom maps using finebi
Ctfshow 2022 Spring Festival welcome (detailed commentary)
About the prompt loading after appscan is opened: guilogic, it keeps loading and gets stuck. My personal solution. (it may be the first solution available in the whole network at present)
【UNIAPP】系统热更新实现思路
FFmepg使用指南
【虚幻引擎UE】实现背景模糊下近景旋转操作物体的方法及踩坑记录
Neural networks and deep learning Chapter 6: Circular neural networks reading questions
About the project error reporting solution of mpaas Pb access mode adapting to 64 bit CPU architecture
Threejs clicks the scene object to obtain object information, and threejs uses raycaster to pick up object information
[untitled]
All in one 1413: determine base