python科学坐标图绘制的四个要素_Python3.0科学计算学习之绘图(四)

绘制三维图:

mplot3d工具包提供了点、线、等值线、曲面和所有其他基本组件以及三维旋转缩放的三维绘图。

1.散点的三维数据图

from mpl_toolkits.mplot3d import axes3d                    #需要从mplot3d模块中导入axes 3D类型

import numpy as np

import matplotlib.pyplot as plt

fig=plt.figure()

ax=fig.gca(projection='3d')                                        #通过将关键字projection='3d'应用到坐标轴对象上来实现三维绘图

class1=0.6*np.random.standard_normal((200,3))

ax.plot(class1[:,0],class1[:,1],class1[:,2],'o')

class2=1.2*np.random.standard_normal((200,3))+np.array([5,4,0])

ax.plot(class2[:,0],class2[:,1],class2[:,2],'o')

class3=0.3*np.random.standard_normal((200,3))+np.array([0,3,2])

ax.plot(class3[:,0],class3[:,1],class3[:,2],'o')

2. 表面图(Surface plots)

基本用法:ax.plot_surface(X,Y,Z,alpha=0.5)

X,Y,Z:数据color:表明颜色cmap:图层

示例:

from mpl_toolkits.mplot3d import axes3d

import numpy as np

import matplotlib.pyplot as plt

fig=plt.figure()

ax=fig.gca(projection='3d')

X,Y,Z=axes3d.get_test_data(0.05)

ax.plot_surface(X,Y,Z,alpha=0.5)

3. 线框图(Wireframe plots)

基本用法:ax.plot_wireframe(X, Y, Z, *args, **kwargs)

X,Y,Z:输入数据

rstride:行步长

cstride:列步长

rcount:行数上限

ccount:列数上限

示例:

from mpl_toolkits.mplot3d import axes3d

import matplotlib.pyplot as plt

fig=plt.figure()

ax=fig.gca(projection='3d')

X,Y,Z=axes3d.get_test_data(0.05)

ax.plot_wireframe(X,Y,Z,rstride=5,cstride=5)

ax.contour(X,Y,Z,zdir='z',offset=-100)              #等高线

ax.contour(X,Y,Z,zdir='x',offset=-40)

ax.contour(X,Y,Z,zdir='y',offset=40)

ax.set_xlim3d(-40,40)                                        #设置坐标轴极限的标准

ax.set_ylim3d(-40,40)

ax.set_zlim3d(-100,100)

ax.set_xlabel('X axis')                                      #设置标签的命令

ax.set_ylabel('Y axis')

ax.set_zlabel('Z axis')

#结果图:

4. 散点绘制(Scatter plots)

基本用法:ax.scatter(xs, ys, zs, s=20, c=None, depthshade=True, *args, *kwargs)

xs,ys,zs:输入数据;

s:scatter点的尺寸

c:颜色,如c = 'r'就是红色;

depthshase:透明化,True为透明,默认为True,False为不透明

*args等为扩展变量,如maker = 'o',则scatter结果为’o‘的形状

示例:

from mpl_toolkits.mplot3d import Axes3D

import matplotlib.pyplot as plt

import numpy as np

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) + vmin

fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')

n = 100

for c, m, zlow, zhigh in [('r', 'o', -50, -25), ('b', '^', -30, -5)]:

xs = randrange(n, 23, 32)

ys = randrange(n, 0, 100)

zs = randrange(n, zlow, zhigh)

ax.scatter(xs, ys, zs, c=c, marker=m)

ax.set_xlabel('X Label')

ax.set_ylabel('Y Label')

ax.set_zlabel('Z Label')

plt.show()

#结果图如下:

5.条形图(Bar plots)

基本方法:ax.bar(left, height, zs=0, zdir='z', *args, **kwargs

x,y,zs = z,数据

zdir:条形图平面化的方向,具体可以对应代码理解

示例:

from mpl_toolkits.mplot3d import Axes3D

import matplotlib.pyplot as plt

import numpy as np

fig = plt.figure()

ax = fig.add_subplot(111, projection='3d')

for c, z in zip(['r', 'g', 'b', 'y'], [30, 20, 10, 0]):

xs = np.arange(20)

ys = np.random.rand(20)

cs = [c] * len(xs)

cs[0] = 'c'

ax.bar(xs, ys, zs=z, zdir='y', color=cs, alpha=0.8)

ax.set_xlabel('X')

ax.set_ylabel('Y')

ax.set_zlabel('Z')

plt.show()    #结果图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux shell tr命令,linux shell tr命令详解

tr命令是linux下的一个命令,那么它的语法和用途是什么呢?下面由学习啦小编为大家整理了linux shell tr命令的相关知识,希望大家喜欢!linux shell tr命令tr是translate的简写,亦即翻译,但是遗憾的是,它不能翻译句子&am…

PHP 函数:intval()

intval 变量转成整数类型。 语法: int intval(mixed var, int [base]); 返回值: 整数 函数种类: PHP 系统功能 内容说明:本函数可将变量转成整数类型。可省略的参数 base 是转换的基底,默认值为 10。转换的变量 var 可以为数组或类之外的任何类型变量。转载于:htt…

python桌面应用html_是否将Python后端与HTML / CSS / JS用户界面集成到桌面应用程序? - javascript...

在创建桌面应用程序时,如何或将Python代码与HTML / CSS / JS集成为用户界面,该如何做?一个简单的例子;如果我想用Python创建一个打印“ Hello World!”的函数并使用HTML / CSS / JS创建用户界面(使其精美,也…

linux中按行读取文件,Linux按行读取文件内容

方法1&#xff1a;while循环中执行效率最高&#xff0c;最常用的方法。function while_read_LINE_bottm(){While read LINEdoecho $LINEdone < $FILENAME}#!/bin/bashwhile read linedoecho $linedone < filename(待读取的文件)注释&#xff1a;习惯把这种方式叫做read釜…

Visual C++ 基础数据类型的转换

16.1如何将基本数据类型转换成CString类型 用CString的Format方法 void CDemoView::OnDraw(CDC* pDC) {int a 100;double b 1.23;//将整型转换成CStringCString str1 _T("");str1.Format(_T("%d"), a);//将实型转换成CStringCString str2 _T("&qu…

python 片段_python片段程序

from PIL import Imageimport re#给图片添加一层蒙版&#xff0c;可以设置位置&#xff0c;尺寸&#xff0c;颜色&#xff0c;透明度def img_add_glass(img,new_imgglass,glass_factor0.3,glass_color#ffffff,glass_x0,glass_y0,glass_width300,glass_height100):imageobjectif…

linux ruby 安装路径,Linux(CentOS 7)安装ruby

首先下载Linux版ruby源码“ruby-2.7.0.tar.gz”&#xff0c;上传并解压到/usr/local路径下&#xff1a;tar -xzvf ruby-2.7.0.tar.gz安装编译依赖工具&#xff0c;gcc、gcc-c、gdbm-devel、readline-devel和openssl-devel&#xff1a;yum install gccyum install gcc-cyum inst…

开心一笑

1转载于:https://www.cnblogs.com/luquanmingren/p/4261912.html

酱油和gbt酱油哪个好_酱油越贵越好?认准瓶身这4处,轻松挑到好酱油!

买酱油这件事&#xff0c;爷叔阿姨们都不陌生。现在市面上酱油品种很多&#xff0c;除了普通的生抽、老抽以外&#xff0c;还有些别的口味&#xff0c;比如海鲜酱油、菌菇酱油等等&#xff0c;价格比普通的还高出不少&#xff0c;这些酱油真的更鲜更好吗&#xff1f;买酱油的2大…

linux网站465端口是什么端口,发送端口25,465,587端口疑问解答

25端口(SMTP)&#xff1a;25端口为SMTP(Simple Mail Transfer Protocol&#xff0c;简单邮件传输协议)服务所开放的&#xff0c;是用于发送邮件。如今绝大多数邮件服务器都使用该协议。当你给别人发送邮件时&#xff0c;你的机器的某个动态端口(大于1024)就会与邮件服务器的25号…

分析DuxCms之AdminController

1 2 /**3 * 后台模板显示 调用内置的模板引擎显示方法&#xff0c;4 * access protected5 * param string $templateFile 指定要调用的模板文件6 * return void7 */8 protected function adminDisplay($templateFile) {9 //获取菜单 10 …

在python语言中不能作为变量名的是什么_4、 在 Python 中可以使用 if 作为变量名。 (1.0分)_学小易找答案...

【判断题】2、 Python 变量使用前必须先声明 , 并且一旦声明就不能在当前作用域内改变其类型。 (1.0分)【填空题】Python语句.join(list(hello world!))执行的结果是____________________。 (1.0分)【填空题】Python语句list(range(1,10,3))执行结果为___________________。 (1…

hdu 3572 Task Schedule 网络流

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid3572Our geometry princess XMM has stoped her study in computational geometry to concentrate on her newly opened factory. Her factory has introduced M new machines in order to process the coming …

linux格式化ext4分区工具,linux学习笔记-磁盘分区、格式化与挂载

磁盘分区、格式化与挂载磁盘分区、格式化与挂载一、给磁盘分区分区工具介绍fdisk:分区时只修改分区表信息&#xff1b;操作简单&#xff1b;不支持大于2T的分区&#xff1b;只能使用交互式来分区。parted:直接将分区信息写入磁盘&#xff1b;操作比较复杂&#xff1b;支持大于2…

uml 时序图_程序猿都应学习的语言:看 25 张图学 UML

作者 | 逸珺责编 | 屠敏来源 | 嵌入式客栈作为程序猿都最好掌握的一门语言&#xff0c;那就是UML(Unified Modeling Language)&#xff0c;统一建模语言(UML)是软件工程领域中一种通用的开发建模语言&#xff0c;旨在提供一种可视化系统设计的标准方法。是开发人员、系统设计人…

was6 linux 卸载,重新安装was61

昨天折腾一天&#xff0c;或者是少安装了compat-libstdc-33包导致app2出不来安装向导&#xff0c;或者是修改了主机名导致./addNode.sh xxx执行异常&#xff0c;诸多不爽后&#xff0c;决定从头再来&#xff01;手动删除/was下所有文件&#xff0c;导致再次安装时&#xff0c;报…

新服务器的配置

新服务器的安装好那三款软件后还是打不开会报错&#xff0c;去服务器管理网站增加执行权即可。 转载于:https://www.cnblogs.com/longhun/p/4266665.html

最大公约数python语言算法_使用Python求解最大公约数的实现方法

这篇文章主要介绍了使用Python求解最大公约数的实现方法,包括用Python表示欧几里得算法和Stein算法的求解原理.1. 欧几里德算法欧几里德算法又称辗转相除法&#xff0c; 用于计算两个整数a, b的最大公约数。其计算原理依赖于下面的定理&#xff1a;定理&#xff1a; gcd(a, b) …

Linux下好用的日志库,我使用過的Linux命令之tailf - 跟蹤日志文件/更好的tail -f版本...

用途說明tailf命令幾乎等同於tail -f&#xff0c;嚴格說來應該與tail --followname更相似些。當文件改名之后它也能繼續跟蹤&#xff0c;特別適合於日志文件的跟蹤(follow the growth of a log file)。與tail -f不同的是&#xff0c;如果文件不增長&#xff0c;它不會去訪問磁盤…

Android学习笔记(四十):Preference的使用

Preference直译为偏好&#xff0c;博友建议翻译为首选项。一些配置数据&#xff0c;一些我们上次点击选择的内容&#xff0c;我们希望在下次应用调起的时候依旧有效&#xff0c;无须用户再一次进行配置或选择。Android提供preference这个键值对的方式来处理这样的情况&#xff…