可视化库-Matplotlib-3D图(第四天)
1. 画三维图片图 axes = Axes3D(fig)这一步将二维坐标转换为三维坐标,axes.plot_surface()
import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D fig = plt.figure()
# 将二维转换为三维的情况
axes = Axes3D(fig)
x = np.arange(-4, 4, 0.25)
y = np.arange(-4, 4, 0.25) X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X**2 + Y**2))
# 画三维曲面图,rstride=1, cstride=1表示曲面的一个方格的位置
axes.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap='rainbow')
# 画出投影, zm表示投影的方向,offset表示投影所处位置,cmap表示使用的colormap
axes.contour(X, Y, Z, zm='Z', offset=-2, cmap='rainbow')
# 扩大z轴的范围使得图看起来更加的压缩
axes.set_zlim(-2, 2)
plt.show()
2. 构造三维坐标系的两种方法, 同时画三维曲线图ax=fig.add_subplot(111, projection='3d') ax = fig.gca(projection='3d'),同时画三维曲线图
# 构造坐标轴的方法1
fig = plt.figure()
# 构造了三维的坐标轴
ax = fig.add_subplot(111, projection='3d')
plt.show() # 构造坐标轴的方法2
figure = plt.figure()
ax = figure.gca(projection='3d') theta = np.linspace(-4 * np.pi, 4*np.pi, 100)
z = np.linspace(-2, 2, 100)
r = z**2 + 1
x = np.sin(theta) * r
y = np.cos(theta) * r
ax.plot(x, y, z, color='r')
plt.show()
3. 画三维散点图 ax.plot # plt.view_init(40, 20)进行视角的变化
np.random.seed(0)
# 用于生成随机点
def randrange(n, vmin, vmax):
return (vmax-vmin)*np.random.randn(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(100, 23, 32)
ys = randrange(100, 0, 100)
zs = randrange(100, zlow, zhigh)
ax.scatter(xs, ys, zs, marker=m, color=c)
# 进行视角的变化
ax.view_init(40, 20)
plt.show()
4.画三维条形图(有一点问题)带有颜色编码的条形图
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(len(xs))
ax.bar(xs, ys, zs=z, zdir='y', color=cs)
plt.show()
可视化库-Matplotlib-3D图(第四天)的更多相关文章
- 可视化库-Matplotlib-直方图(第四天)
1.plt.hist(array, bins, color) # array表示数值, bins表示的是bin的范围 data = np.random.normal(0, 20, 1000) # 画 ...
- 可视化库-Matplotlib-条形图(第四天)
1.画两个条形图,bar和barh, 同时axes[0].axhline画一条横线,axes[1].axvline画一条竖线 import numpy as np import matplotlib. ...
- Python数据可视化库-Matplotlib(一)
今天我们来学习一下python的数据可视化库,Matplotlib,是一个Python的2D绘图库 通过这个库,开发者可以仅需要几行代码,便可以生成绘图,直方图,功率图,条形图,错误图,散点图等等 废 ...
- Python可视化库-Matplotlib使用总结
在做完数据分析后,有时候需要将分析结果一目了然地展示出来,此时便离不开Python可视化工具,Matplotlib是Python中的一个2D绘图工具,是另外一个绘图工具seaborn的基础包 先总结下 ...
- Python统计分析可视化库seaborn(相关性图,变量分布图,箱线图等等)
Visualization of seaborn seaborn[1]是一个建立在matplot之上,可用于制作丰富和非常具有吸引力统计图形的Python库.Seaborn库旨在将可视化作为探索和理 ...
- Python可视化库Matplotlib的使用
一.导入数据 import pandas as pd unrate = pd.read_csv('unrate.csv') unrate['DATE'] = pd.to_datetime(unrate ...
- 数据分析处理库pandas及可视化库Matplotlib
一.读取文件 1)读取文件内容 import pandas info = pandas.read_csv('1.csv',encoding='gbk') # 获取文件信息 print(info) pr ...
- Python数据可视化库-Matplotlib(二)
我们接着上次的继续讲解,先讲一个概念,叫子图的概念. 我们先看一下这段代码 import matplotlib.pyplot as plt fig = plt.figure() ax1 = fig.a ...
- python的数据可视化库 matplotlib 和 pyecharts
Matplotlib大家都很熟悉 不谈. ---------------------------------------------------------------------------- ...
- 可视化库-Matplotlib基础设置(第三天)
1.画一个基本的图 import numpy as np import matplotlib.pyplot as plt # 最基本的一个图,"r--" 线条加颜色, 也可以使用l ...
随机推荐
- @ModelAttribute运用详解(二十一)
@ModelAttribute使用详解 1.@ModelAttribute注释方法 例子(1),(2),(3)类似,被@ModelAttribute注释的方法会在此controller每个方法 ...
- SPOJ COMPANYS Two Famous Companies 最小生成树,二分,思路 难度:2
http://www.spoj.com/problems/COMPANYS/en/ 题目要求恰好有k条0类边的最小生成树 每次给0类边的权值加或减某个值delta,直到最小生成树上恰好有k条边为0,此 ...
- 免费获取半年 Bitdefender Total Security 2014
免费获取半年 Bitdefender Total Security 2014,安装后剩余 200 天使用期.安装程序语言是德语,调包下安装语言应该也是可以的? 目前德国活动,Bitdefender T ...
- SOA实践指南-读书笔记
SOA是英文Service-Oriented Architecture,即面向服务架构的缩写. SOA是一种范式,目的是增强灵活性.SOA很适宜处理复杂的分布式系统. SOA方法接受异质(不同的平台, ...
- 首次运行tensorflow-gpu 1.0 报错 failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
发现博客: https://blog.csdn.net/u010752600/article/details/79534910 于是找到解决方法. sudo rm -rf ~/.nv/
- Machine Learning 方向读博的一些重要期刊及会议 && 读博第一次组会时博导的交代
读博从报道那天算起到现在已经3个多月了,这段时间以来和博导总共见过两次面,寥寥数语的见面要我对剩下的几年读书生活没有了太多的期盼,有些事情一直想去做却总是打不起来精神,最后挣扎一下还是决定把和博导开学 ...
- ssh远程操作服务器
登录方式 ssh account@192.168.xxx.xxx 输入密码 远程上传下载文件 上传: scp filepath acount@192.168.xxx.xxx:path filepath ...
- POJ 2236:Wireless Network(并查集)
Wireless Network Time Limit: 10000MS Memory Limit: 65536K Total Submissions: 36363 Accepted: 150 ...
- Javascript模块化编程require.js的用法
JS模块化工具requirejs教程(一):初识requirejs http://www.runoob.com/w3cnote/requirejs-tutorial-1.html JS模块化工具req ...
- bzoj2431逆序对数列
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2431 很容易想到n^3的做法.就是前 i 个数用第 i 个数最多能 i - 1 个逆序对,所 ...