图是最直观观察到数据之间的内部关系以及规律的,比如在下面的几张动图中,使用matplotlib中的三维显示命令,使得我们可以对于logistic回归网络的性能与相关参数有了更好的理解。

下面的动图显示了在训练网络时,不同的学习速率对于算法收敛之间的影响。

下面给出了绘制这些动态曲线的相关的python指令:

➤01 3D plot

1.基本语法

在安装matplotlib之后,自动安装有 mpl_toolkits.mplot3d。

#Importing Libraries
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d#3D Plotting
fig = plt.figure()
ax = plt.axes(projection="3d")#Labeling
ax.set_xlabel('X Axes')
ax.set_ylabel('Y Axes')
ax.set_zlabel('Z Axes')plt.show()

2.Python Cmd

使用pythoncmd 插入相应的语句。

3.举例

(1) Ex1


#!/usr/local/bin/python
# -*- coding: gbk -*-
#******************************
# TEST2.PY                     -- by Dr. ZhuoQing 2020-11-16
#
# Note:
#******************************from headm import *
from mpl_toolkits.mplot3d import axes3dax = plt.axes(projection='3d')
x = [1,2,3,4,5,6,7,8,9]
y = [2,3,4,6,7,8,9,5,1]
z = [5,6,2,4,8,6,5,6,1]ax.plot3D(x,y,z)
ax.set_xlabel('X Axes')
ax.set_ylabel('Y Axes')
ax.set_zlabel('Z Axes')plt.show()#------------------------------------------------------------
#        END OF FILE : TEST2.PY
#******************************

▲ 3D plot的演示

(2) Ex2

from mpl_toolkits.mplot3d import axes3dax = plt.axes(projection='3d')angle = linspace(0, 2*pi*5, 400)
x = cos(angle)
y = sin(angle)
z = linspace(0, 5, 400)ax.plot3D(x,y,z)
ax.set_xlabel('X Axes')
ax.set_ylabel('Y Axes')
ax.set_zlabel('Z Axes')plt.show()

▲ 3D绘制的例子

(3) Ex3

import matplotlib as mpl
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
import matplotlib.pyplot as pltmpl.rcParams['legend.fontsize'] = 10fig = plt.figure()
ax = fig.gca(projection='3d')
theta = np.linspace(-4 * np.pi, 4 * np.pi, 100)
z = np.linspace(-2, 2, 100)
r = z**2 + 1
x = r * np.sin(theta)
y = r * np.cos(theta)
ax.plot(x, y, z, label='parametric curve')
ax.legend()plt.show()

➤02 绘制Scatter

利用和上面的相同的绘制命令,将原来的plot3D修改成为 scatter即可。

from mpl_toolkits.mplot3d import axes3dax = plt.axes(projection='3d')angle = linspace(0, 2*pi*5, 40)
x = cos(angle)
y = sin(angle)
z = linspace(0, 5, 40)ax.scatter(x,y,z, color='b')
ax.set_xlabel('X Axes')
ax.set_ylabel('Y Axes')
ax.set_zlabel('Z Axes')plt.show()

▲ Scatter 的例子

➤03 绘制3D Surface

(1) Ex1

▲ 3D surface例子

#!/usr/local/bin/python
# -*- coding: gbk -*-
#******************************
# TEST2.PY                     -- by Dr. ZhuoQing 2020-11-16
#
# Note:
#******************************from headm import *
from mpl_toolkits.mplot3d import axes3dax = plt.axes(projection='3d')x = arange(-5, 5, 0.1)
y = arange(-5, 5, 0.1)
x,y = meshgrid(x, y)
R = sqrt(x**2+y**2)
z = sin(R)ax.plot_surface(x, y, z)
ax.set_xlabel('X Axes')
ax.set_ylabel('Y Axes')
ax.set_zlabel('Z Axes')plt.show()#------------------------------------------------------------
#        END OF FILE : TEST2.PY
#******************************

▲ 3D 绘制Surface

▲ 绘制3D球表面

(2) 举例

'''
***********
3D surface (color map)
***********Demonstrates plotting a 3D surface colored with the coolwarm color map.
The surface is made opaque by using antialiased=False.Also demonstrates using the LinearLocator and custom formatting for the
z axis tick labels.
'''from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
from matplotlib import cm
from matplotlib.ticker import LinearLocator, FormatStrFormatter
import numpy as npfig = plt.figure()
ax = fig.gca(projection='3d')# Make data.
X = np.arange(-5, 5, 0.25)
Y = np.arange(-5, 5, 0.25)
X, Y = np.meshgrid(X, Y)
R = np.sqrt(X**2 + Y**2)
Z = np.sin(R)# Plot the surface.
surf = ax.plot_surface(X, Y, Z, cmap=cm.coolwarm,linewidth=0, antialiased=False)# Customize the z axis.
ax.set_zlim(-1.01, 1.01)
ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))# Add a color bar which maps values to colors.
fig.colorbar(surf, shrink=0.5, aspect=5)plt.show()

▲ 彩色表面绘制

以上就是关于Python中3D绘图命令的使用方式,源码也给大家了,都动手试试吧。这一篇到这里就没有了,下一篇 想看什么,评论区告诉我。

如何用Python中的3D绘图命令,让你的数据更高级相关推荐

  1. Python中的3D绘图命令~这还不放到论文或PPT里?

    嗨害大家好鸭!我是小熊猫❤ 我企鹅qun里的小伙伴最近问我python中有没有3D绘图命令~ 确实这个很实用~很多情况下, 为了能够观察到数据之间的内部的关系, 可以使用绘图来更好的显示规律. 比如在 ...

  2. Python中的3D绘图命令~放到论文或PPT里太加分了

    导语 很多情况下,为了能够观察到数据之间的内部的关系,可以使用绘图来更好的显示规律. 比如在下面的几张动图中,使用matplotlib中的三维显示命令,使得我们可以对于logistic回归网络的性能与 ...

  3. python高阶3D绘图---pyvista模块,mayavi模块,pyopengl模块,MoviePy模块基础使用

    目录 一.python三维绘图 二.python动画生成 三.项目文件: 一.python三维绘图 ​ ~~~~~~~~         python借助于其编写简单,三方库丰富的特点,可以极为方便的 ...

  4. python三维图视角旋转_如何在python中旋转3d图? (或作为动画)使用鼠标旋转三维视图...

    我有这段代码,其中包含一个3D图.我在Spyder中运行代码;我想知道是否可以使这个绘图旋转(360度)并保存. 谢谢! P.s.对不起,如果这是一个愚蠢的问题,但我是Python的newby.如何在 ...

  5. python 测试字符串类型_【教程】如何用Python中的chardet去检测字符编码类型

    [背景] 之前已经使用过chardet了,也算用了不少次了. 之前也写过和chardet相关的: 但是没写教程,举例说明如何使用. 现在去举例解释解释. [python示例代码演示如何用chardet ...

  6. python的out模式_如何用python中的DataFrame列的模式替换NA值?

    我对Python(和本网站)完全陌生,目前正试图用它们的模式替换特定数据帧列中的NA值.我试过了各种不起作用的方法.请帮我看看我做错了什么:如何用python中的DataFrame列的模式替换NA值? ...

  7. 如何用Python中Tushare包轻松完成股票筛选(详细流程操作)

    如何用Python中Tushare包轻松完成股票筛选(详细流程操作) 本文包括安装以及调用Tushare包的详细流程操作 一.Tushare简介 Tushare是Python中一个十分好用的免费调用股 ...

  8. 【Qt OpenGL】Qt Creator中的3D绘图及动画教程

    Qt Creator中的3D绘图及动画教程(参照NeHe) 刚刚学习了Qt Creator,发现Qt提供了QtOpenGL模块,对OpenGL做了不错的封装,这使得我们可以很轻松地在Qt程序中使用Op ...

  9. matlab数组数据绘图命令,基本绘图命令、数组与数据拟合|Mathematica MathCAD 论坛|MATLAB技术论坛 - Powered by Discuz!...

    2.2        基本绘图命令.数组与数据拟合 2.2.1        基本绘图命令 1. 二维作图函数Plot Plot[函数或函数组,{自变量,下限,上限},选项] 例:画y=sinx在[ ...

最新文章

  1. R语言使用coin包应用于独立性问题的置换检验(permutation tests)、使用普通cor.test函数和置换近似spearman_test函数、检验变量的相关性的显著性
  2. Vue中进行断点调试的两种方式(使用外部浏览器和VsCode的 Debug for Chrome插件)
  3. VTK修炼之道2_VTK体系结构1
  4. 计算机组成原理 华南理工,华南理工2017计算机组成原理随堂练习
  5. .NET、C#和ASP.NET,ASP.NET MVC 四者之间的区别
  6. C++ class实现顺序栈(完整代码)
  7. AWS:避免那些“神圣的法案”时刻的一些技巧
  8. js动态增加,删除td,tr,table,div
  9. docker安装fastdfs_【运维面试】面试官:你们公司的docker主要用来做啥?
  10. altiumdesigner的基本你操作
  11. 8段数码管与字符对照表
  12. thuwc2019滚粗记
  13. 165体重_165cm标准体重
  14. MySQL Cluster 集群部署
  15. leetcode 链表的中间结点
  16. 软件开发延期引发纠纷-律师随笔
  17. Kubernetes资源平台--ratel
  18. “三年拿下全球第一!”7年小米销量冲到全球第二,雷军做对了什么?
  19. 全面的网络诊断-Omnipeek
  20. 徐易容:解决推荐问题纵向、垂直化是出路

热门文章

  1. python XGboost回归预测 算法实现和原理讲解(比赛青睐)
  2. 学人工智能有什么好处?学AI的优势
  3. 学习笔记--vue Element 下拉框默认选中
  4. oracle streams缺点,streams 日差治理及监控
  5. hifi下载_如何配置HiFi桌面音频系统
  6. 我承认,我们在玩一种很新的东西!
  7. tooltip.formatter
  8. java code formatter_eclipse code formatter 肿么安装
  9. 订餐系统之获取淘宝外卖订单
  10. java kdtree_KdTree说明