广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 绘制3D图
  • 139
分享到

python 绘制3D图

python机器学习matplotlib 2023-09-25 15:09:34 139人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

python 绘制3D图 1.散点图代码输入的数据格式 2.三维表面 surface代码输入的数据格式scatter + surface图形展示 3. 三维瀑布图waterfall代码

python 绘制3D

1.散点图

代码

# This import reGISters the 3D projection, but is otherwise unused.from mpl_toolkits.mplot3d import Axes3D  # noqa: F401 unused importimport matplotlib.pyplot as pltimport numpy as np# Fixing random state for reproducibilitynp.random.seed(19680801)def randrange(n, vmin, vmax):    '''    Helper function to make an array of random numbers having shape (n, )    with each number distributed UnifORM(vmin, vmax).    '''    return (vmax - vmin)*np.random.rand(n) + vminfig = plt.figure()ax = fig.add_subplot(111, projection='3d')n = 100# For each set of style and range settings, plot n random points in the box# defined by x in [23, 32], y in [0, 100], z in [zlow, zhigh].for m, zlow, zhigh in [('o', -50, -25), ('^', -30, -5)]:    xs = randrange(n, 23, 32)    ys = randrange(n, 0, 100)    zs = randrange(n, zlow, zhigh)    ax.scatter(xs, ys, zs, marker=m)ax.set_xlabel('X Label')ax.set_ylabel('Y Label')ax.set_zlabel('Z Label')plt.show()

输出:
在这里插入图片描述

输入的数据格式

这个输入的三个维度要求是三列长度一致的数据,可以理解为3个length相等的list。
用上面的scatter或者下面这段直接plot也可以。

fig = plt.figure()ax = fig.GCa(projection='3d')ax.plot(h, z, t, '.', alpha=0.5)plt.show()

输出:
在这里插入图片描述

2.三维表面 surface

代码

x = [12.7, 12.8, 12.9]y = [1, 2, 3, 4]temp = pd.DataFrame([[7,7,9,9],[2,3,4,5],[1,6,8,7]]).TX,Y = np.meshgrid(x,y)  # 形成网格化的数据temp = np.array(temp)fig = plt.figure(figsize=(16, 16))ax = fig.gca(projection='3d')ax.plot_surface(Y,X,temp,rcount=1, cmap=cm.plasma, linewidth=1, antialiased=False,alpha=0.5) #cm.plasmaax.set_xlabel('zone', color='b', fontsize=20)ax.set_ylabel('h2o', color='g', fontsize=20)ax.set_zlabel('Temperature', color='r', fontsize=20)

output:
在这里插入图片描述

输入的数据格式

这里x和y原本都是一维list,通过np.meshgrid可以将其形成4X3的二维数据,如下图所示:
在这里插入图片描述
在这里插入图片描述
而第三维,得是4X3的2维的数据,才能进行画图

scatter + surface图形展示

在这里插入图片描述

3. 三维瀑布图waterfall

代码

from matplotlib.collections import PolyCollectionimport matplotlib.pyplot as pltfrom matplotlib import colors as mcolorsimport numpy as npaxes=plt.axes(projection="3d")def colors(arg):    return mcolors.to_rgba(arg, alpha=0.6)verts = []z1 = [1, 2, 3, 4]x1 = np.arange(0, 10, 0.4)for z in z1:    y1 = np.random.rand(len(x1))    y1[0], y1[-1] = 0, 0    verts.append(list(zip(x1, y1)))# print(verts)poly = PolyCollection(verts, facecolors=[colors('r'), colors('g'), colors('b'),             colors('y')])poly.set_alpha(0.7)axes.add_collection3d(poly, zs=z1, zdir='y')axes.set_xlabel('X')axes.set_xlim3d(0, 10)axes.set_ylabel('Y')axes.set_ylim3d(-1, 4)axes.set_zlabel('Z')axes.set_zlim3d(0, 1)axes.set_title("3D Waterfall plot")plt.show()

输出:
在这里插入图片描述

输入的数据格式

这个的输入我还没有完全搞懂,导致我自己暂时不能复现到其他数据,等以后懂了再回来补充。

4. 3d wireframe

code

from mpl_toolkits.mplot3d import axes3dimport matplotlib.pyplot as pltfig, (ax1, ax2) = plt.subplots(    2, 1, figsize=(8, 12), subplot_kw={'projection': '3d'})# Get the test dataX, Y, Z = axes3d.get_test_data(0.05)# Give the first plot only wireframes of the type y = cax1.plot_wireframe(X, Y, Z, rstride=10, cstride=0)ax1.set_title("Column (x) stride set to 0")# Give the second plot only wireframes of the type x = cax2.plot_wireframe(X, Y, Z, rstride=0, cstride=10)ax2.set_title("Row (y) stride set to 0")plt.tight_layout()plt.show()

output:
在这里插入图片描述

输入的数据格式

与plot_surface的输入格式一样,X,Y原本为一维list,通过np.meshgrid形成网格化数据。Z为二维数据。其中注意调节rstride、cstride这两个值实现行列间隔的调整。
自己试了下:
在这里插入图片描述

reference:

https://matplotlib.org/stable/gallery/mplot3d/hist3d.html

来源地址:https://blog.csdn.net/weixin_46870583/article/details/125318214

--结束END--

本文标题: python 绘制3D图

本文链接: https://www.lsjlt.com/news/417516.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 绘制3D图
    python 绘制3D图 1.散点图代码输入的数据格式 2.三维表面 surface代码输入的数据格式scatter + surface图形展示 3. 三维瀑布图waterfall代码...
    99+
    2023-09-25
    python 机器学习 matplotlib
  • python 绘制3D图案例分享
    目录1.散点图代码输入的数据格式2.三维表面 surface代码输入的数据格式scatter + surface图形展示3. 三维瀑布图waterfall代码输入的数据格式4. 3d...
    99+
    2022-11-11
  • R绘制3D饼图
    二维饼图代码如下:#绘制2维饼图 x=read.delim("C:/Users/a/Desktop/sample.txt",header=FALSE) #读入文本数据 names(x)=c("word","count") #加表头 x=tr...
    99+
    2023-01-31
    饼图
  • 利用Python绘制酷炫的3D地图
    目录1.重庆市3D地图2.中国3D地图一3.中国3D地图二4.中国3D地图三5.地球展示之前我们介绍了很多Python地图可视化的内容,本次主要介绍如何Python绘制3D地图,还是...
    99+
    2022-11-13
  • 【100天精通Python】Day65:Python可视化_Matplotlib3D绘图mplot3d,绘制3D散点图、3D线图和3D条形图,示例+代码
    1  mpl_toolkits.mplot3d  功能介绍   mpl_toolkits.mplot3d 是 Matplotlib 库中的一个子模块,用于绘制和可视化三维图形,包括三维散点图、曲面图、线图等。它提供了丰富的功能来创建和定制三...
    99+
    2023-10-18
    3d 信息可视化 python matplotlib
  • Python+Matplotlib绘制3D图像的示例详解
    目录1. 绘制3D柱状图2. 绘制3D曲面图示例1示例23.绘制3D散点图4. 绘制3D曲线图1. 绘制3D柱状图 绘制3D柱状图使用的是axes3d.bar()方法。 可能跟我们中...
    99+
    2022-11-10
  • python 3D绘制立体几何
    直接复制就能用,写的简单,请勿吐槽 import numpy as np import mpl_toolkits.mplot3d import matplotlib.pyplot as plt x=[0,3,0,3,1.5] y...
    99+
    2023-01-31
    立体几何 python
  • WPF如何实现绘制3D图形
    今天小编给大家分享一下WPF如何实现绘制3D图形的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。关键概念视口视口指的是图像要展...
    99+
    2023-07-05
  • QT qt 3d 绘图
    首先不得不说,要感谢北京邮电大学的阿科。感谢他慷慨的分享和极具科学态度的记录,将自己搜集到的众多资料收集整理发布,拯救众多苦逼寻找方案的程序员于苦海之中。因为最近接手新的项目,涉及到使用opengl做surface plot编程。第一个想到...
    99+
    2023-01-31
    QT qt
  • Python利用matplotlib模块数据可视化绘制3D图
    目录前言1 matplotlib绘制3D图形2 绘制3D画面图2.1 源码2.2 效果图3 绘制散点图3.1 源码3.2 效果图4 绘制多边形4.1 源码4.2 效果图5 三个方向有...
    99+
    2022-11-13
  • python3.10 Axes3D绘制3d图不出图解决办法
    引入模块 import numpy as npimport matplotlib.pyplot as pltimport matplotlib 创建3d图代码 # 创建窗口fig=plt.figure...
    99+
    2023-09-13
    python numpy
  • 如何使用angular9+echarts绘制3D地图
    这篇文章主要介绍如何使用angular9+echarts绘制3D地图,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!新建一个angular9的工程安装了@angular-cli的脚手架ng -v查看版本ng new m...
    99+
    2023-06-14
  • Python中的3D绘图命令总结
    目录导语013Dplot1.基本语法2.PythonCmd3.举例02绘制Scatter03绘制3DSurface导语 很多情况下,为了能够观察到数据之间的内部的关系,可以使用绘图来...
    99+
    2022-11-13
  • Python中Matplotlib如何实现3D绘图
    小编给大家分享一下Python中Matplotlib如何实现3D绘图,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mpl_toolkits 是 Matplotli...
    99+
    2023-06-21
  • Python怎么绘制3D立体花朵
    本篇内容主要讲解“Python怎么绘制3D立体花朵”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么绘制3D立体花朵”吧!动态展示这是一个动态图哦导读兄弟们可以收藏一下哦!情人节可以...
    99+
    2023-06-21
  • 基于Python绘制3D立体爱心图案的示例详解
    目录原理点画法(实心)代码运行效果点画法(空心)代码运行效果折线画法 (线团)代码运行效果等高线画法(线框)代码运行效果原理 1.使用python中的mtplotlib库。 2.立体...
    99+
    2022-11-16
    Python绘制3D立体爱心 Python绘制3D爱心 Python 3D 爱心
  • WPF实现绘制3D图形的示例代码
    目录关键概念视口相机光源材质3D对象命中测试(鼠标交互)3D对象中2D控件渲染外部导入3D模型WPF的3D功能可以在不编写任何c#代码的情况下进行绘制,只需要使用xaml即可完成3D...
    99+
    2023-03-02
    WPF绘制3D图形 WPF 3D图形 WPF 3D
  • 如何根据自有数据拟合绘制3D曲面图-Python matplotlib
    目录 问题提出 绘制简单曲面图 使用自有数据拟合绘制 问题提出 在网上找了很久怎么用自己有的dataframe数据,拟合出3d的曲面图,大部分人都是根据已知函数去绘制,有几篇进行拟合绘制,但是还是根据特定函数生成的数据,没有一篇直接用d...
    99+
    2023-09-25
    python matplotlib 3d
  • 绘制3d散点图报错ax = fig.gca(projection = ‘3d‘)TypeError: gca() got an unexpected keyword argument
     问题:使用matplotlib绘制3d散点图时报错ax = fig.gca(projection = '3d') TypeError: gca() got an unexpected keyword argument 'projectio...
    99+
    2023-08-31
    3d matplotlib python
  • Python绘制3D立体花朵示例详解
    目录动态展示导读源码和详解荷花玫瑰花桃花月季动态展示 这是一个动态图哦 导读 兄弟们可以收藏一下哦!情人节可以送出去,肥学找了几朵python写的花给封装好送给大家。不是多炫酷但是...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作