matplot绘图(五)

b3D图形绘制

# 导包:
from mpl_toolkits.mplot3d.axes3d import Axes3D
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np

画3D散点图

fig= plt.figure()                        # 二维
axes3D = Axes3D(fig)            # 二维变成三维,生成三维坐标系
x =np.random.randint(0,5,size = 100)
y = np.random.randint(-50,0,size = 100)
z = np.random.randint(-50,0,size = 100)
axes3D.scatter3D(x,y,z)                    
axes3D.set_title("散点图",fontproperties = "KaiTi",fontsize = 20)                  #设置标题
axes3D.set_xlabel("x",color = "r",fontsize = 20)                                             #设置坐标轴标识的属性
axes3D.set_ylabel("y",color = "r",fontsize = 20)                                             
axes3D.set_zlabel("z",color = "r",fontsize = 20)

绘制3D空间线型

fig1 = plt.figure(figsize = (6,5))                #设置二维视图的大小
# 二维变三维
axes3D = Axes3D(fig1)
x = np.linspace(0,200,2000)                      #分别生成三个轴的坐标数据
y = np.sin(x)
z = np.cos(x)
axes3D.plot(x,y,z)                                      #进行3D图形的绘制

绘制面

思路:

利用网格交叉

a = np.arange(1,4,1)
b = np.linspace(2,6,3)
plt.scatter(a,b)

A,B = np.meshgrid(a,b)                             # :meshgrid():从坐标向量返回坐标矩阵。
plt.scatter(A,B)

画出三维面

fig = plt.figure(figsize = (8,5))
axes3D = Axes3D(fig)
x = np.linspace(-2,2,100)
y = np.linspace(-2,2,100)
X,Y = np.meshgrid(x,y)                                          #绘制网格交叉点的x,y值
Z = (X**2+Y**2)**0.5                                              #给交叉点添加纵坐标
poly3D = axes3D.plot_surface(X,Y,Z,cmap = plt.cm.Blues_r)                             #在三维坐标系里创建一个曲面图
# 色柱
plt.colorbar(poly3D,shrink = 0.5)                          shrink属性是设置缩放比例

图示:

在三维空间中绘制条形图

from matplotlib.pyplot import rcParams
rcParams["font.sans-serif"]="KaiTi" #对全局的字体进行设置
rcParams["axes.unicode_minus"]=False #对符号进行设值,不设置显示方框

fig = plt.figure(figsize = (7,5))
axes3D = Axes3D(fig)
x = np.arange(10)
# y = np.random.randint(0,20,size = 10)
# axes3D.bar(x,y,zs = -100,zdir = "y")
#zs表示若指定一个值,则在该值的z平面上生成图像。zdir表示使用哪个轴作为z轴显示
for year in [2010,2011,2012,2013,2014,2015]:
y = np.random.randint(0,50,size = 10)
axes3D.bar(x,y,zs =year,zdir = "x")
axes3D.set_xlabel("x",color = "r",fontsize = 20)
axes3D.set_ylabel("y",color = "r",fontsize = 20)
axes3D.set_zlabel("z",color = "r",fontsize = 20)
plt.xticks([2010,2011,2012,2013,2014,2015],["2010年","2011年","2012年","2013年","2014年","2015年"],rotation = 60)
#xticks是获取或设置x轴的当前刻度位置和标签
plt.savefig("./image/sanwei.jpg")

绘制混合3D图形

fig1 = plt.figure(figsize = (6,5))
# 二维变三维
axes3D = Axes3D(fig1)
x = np.linspace(0,200,2000)
y = np.sin(x)
z = np.cos(x)
axes3D.plot(x,y,z)
# 散点图
axes3D.scatter(np.random.randint(0,200,size =100),
                         np.random.randn(100),
                         np.random.randn(100),
                         s = 100,
                         color =np.random.rand(100,3))

 三维子视图的绘制

from mpl_toolkits.mplot3d import axes3d
# 三维的子视图
plt.figure(figsize = (12,9))
axes3D = plt.subplot(1,2,1,projection ="3d")
x = np.linspace(0,20,100)
axes3D.plot(x,np.sin(x),np.cos(x))
axes3D1 = plt.subplot(1,2,2,projection="3d")
X,Y,Z = axes3d.get_test_data()
axes3D1.plot_surface(X,Y,Z,cmap =plt.cm.gist_heat_r)
plt.savefig("./image/hunhe.jpg")

等高线的绘制contour()

fig = plt.figure(figsize = (12,9))
axes3D = Axes3D(fig)
x = np.linspace(0,20,200)
X,Y,Z = axes3d.get_test_data()
axes3D.plot_surface(X,Y,Z,cmap = plt.cm.BuPu_r,alpha = 0.4)
axes3D.contour(X,Y,Z,cmap =plt.cm.Accent_r,zdir = "z")                     #设置等高线用函数contour()方法

原文地址:https://www.cnblogs.com/kuangkuangduangduang/p/10300908.html

时间: 2024-10-17 04:34:02

matplot绘图(五)的相关文章

QT绘图五:绘制美化版本扫描方向表盘

在QT绘图三中我们已经实现了一个绘制扫描表盘的简单实例,今天我们绘制一个视觉效果上面略微优于它的表盘扫描实例.源码实例站内搜索标题或者点击链接下载即可实例源码 原文地址:https://blog.51cto.com/7265851/2434151

matplot绘图

Matplotlib Matplotlib 是一个 Python 的 2D绘图库,通过 Matplotlib,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率谱,条形图,错误图,散点图等. http://matplotlib.org 用于创建出版质量图表的绘图工具库 目的是为Python构建一个Matlab式的绘图接口 import matplotlib.pyplot as plt pyplot模块包含了常用的matplotlib API函数 figure Matplotlib的图像均位于

matplot绘图无法显示中文的问题

手动添加: 1 from pylab import * 2 mpl.rcParams['font.sans-serif'] = ['SimHei'] #指定默认字体 3 mpl.rcParams['axes.unicode_minus'] = False #解决保存图像是负号'-'显示为方块的问题 原文地址:https://www.cnblogs.com/hfdkd/p/8353431.html

从无到用写个股票分析APP(一)

前言:再给自己挖个坑吧. 我想写个什么东西呢? 一:可以浏览当下相关资讯,以及大盘指数实时更新. 二:添加自选股票,可以查看该股票的走势图,相关资讯以及基本数据. 三:通过server端定义相关指标及常用策略,手机上可以直接添加已定义的技术指标及策略用以组合,然后在在server端得到结果,手机端查看. 项目地址:https://github.com/youerning/pstock 所用技术: nodejs: socket.io golang javascript: angularjs,cha

机器学习二 逻辑回归作业

作业在这,http://speech.ee.ntu.edu.tw/~tlkagk/courses/ML_2016/Lecture/hw2.pdf 是区分spam的. 57维特征,2分类问题.采用逻辑回归方法.但是上述数据集在kaggle中没法下载,于是只能用替代的方法了,下了breast-cancer-wisconsin数据集. 链接在这http://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin

一。html5 知识点梳理

总结:html5,最主要是是掌握 1. 语义标签,表单标签扩增 (结构上语义 如footer 和功能上 如mark)     2.音频 视频 3.  HTML5 绘图,  4. web储存,  5. Html5 离线应用     CSS3 最主要的是掌握CSS3的2D 转换和 CSS3 的动画设计这 两点 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 一.html5 新增常用结构元素(用于网页布局) section

教育行业漏洞报告平台(Beta)数据爬取分析

解决问题 对教育漏洞提交平台的漏洞相关数据进行分析. 内容与要求 爬取网站提交的漏洞的相关信息,对每年漏洞数量,漏洞类型变化,漏洞类型比例,提交漏洞排名,存在漏洞数最多等方面进行统计分析,并可视化 使用工具 Requests 用于爬取页面 BeautifulSoup用于页面分析 Pandas用于数据分析 Time 用于爬取时进度条显示进度 tqdm用于爬取时进度条显示进度 matplotlib用于数据可视化,绘制统计图 wordcloud 用于数据可视化,绘制云图 爬取数据 网站分析 1.网站为

用Python玩微信跳一跳详细使用教程

github地址:https://github.com/wangshub/wechat_jump_game 工具介绍 Python 3 Android 手机 Adb 驱动 Python Matplot绘图 python3安装 安装pip 安装依赖包 在github地址将源码下载下来解压后,使用cd命令进入项目目录, 执行命令 pip install -r requirements.txt.会将依赖包下载下来. 下载好之后执行命令python -m pip list 安装adb驱动 下载adb驱动

MATLAB学习笔记(五)——MATLAB绘图

(一)二维数据曲线图 一.绘制单根二维曲线 1.基本调用格式 plot(x,y) (1)x,y为长度相同的向量,分别用于储存x坐标和y坐标数据 (2)用于绘制以x,y为横,纵坐标的二维曲线. (3)举例 >> x=linspace(0,2*pi,100); >> y=2*exp(-5*x).*cos(4*pi*x); >> plot(x,y) 效果如下: 从这里我们可以明白plot绘图,其实是取点,然后用光滑的曲线进行连接的. 2.plot函数最简单的调用格式 plot