当前位置:网站首页>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()

边栏推荐
- American 5g open ran suffered another major setback, and its attempt to counter China's 5g technology has failed
- A application wakes up B should be a fast method
- 这是一个不确定的时代
- 机器学习 --- 决策树
- kubernetes集群之调度系统
- 首席信息官如何利用业务分析构建业务价值?
- OWASP top 10 vulnerability Guide (2021)
- How to carry out "small step reconstruction"?
- Raki's notes on reading paper: soft gazetteers for low resource named entity recognition
- 直播预告 | 容器服务 ACK 弹性预测最佳实践
猜你喜欢

3 minutes learn to create Google account and email detailed tutorial!

Function (error prone)

函数(易错)
![[thingsboard] how to replace the homepage logo](/img/65/5296c26f975d79d65d36c2e76e47c1.png)
[thingsboard] how to replace the homepage logo

Scheduling system of kubernetes cluster

Live broadcast preview | container service ack elasticity prediction best practice

线上故障突突突?如何紧急诊断、排查与恢复

【FineBI】使用FineBI制作自定义地图过程

MacBook安装postgreSQL+postgis

Function (basic: parameter, return value)
随机推荐
[uniapp] system hot update implementation ideas
【虚幻引擎UE】打包报错出现!FindPin错误的解决办法
Leetcode hot topic Hot 100 day 33: "subset"
直播预告 | 容器服务 ACK 弹性预测最佳实践
A real day for Beijing programmers!!!!!
Number of possible stack order types of stack order with length n
User behavior collection platform
Is "golden nine and silver ten" the best time to find a job? Not necessarily
蛇形矩阵
Mxnet imports various libcudarts * so、 libcuda*. So not found
小程序中实现文章的关注功能
Burpsuite grabs app packets
指针函数(基础)
机器学习 --- 神经网络
美国5G Open RAN再遭重大挫败,抗衡中国5G技术的图谋已告失败
函數(易錯)
假设检验——《概率论与数理统计》第八章学习笔记
Neural networks and deep learning Chapter 2: machine learning overview reading questions
Scheduling system of kubernetes cluster
首席信息官如何利用业务分析构建业务价值?