可视化库-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 ...
随机推荐
- Leetcode 18
class Solution { public: vector<vector<int>> fourSum(vector<int>& nums, int ta ...
- iOS UI-应用管理(使用Cell模板)
一.Model // // BWApp.h // IOS_0112_应用管理 // // Created by ma c on 16/1/12. // Copyright (c) 2016年 博文科技 ...
- Newtonsoft.Json JsonHelper
Json.net 简单封装 using System; using System.Linq; using Newtonsoft.Json; using Newtonsoft.Json.Serializ ...
- ASP.NET(c#) 日期选择控件的另一种实现方法
这篇文章是在一个英文网站发现的,完全使用ASP.NET实现了日期选择的基本功能,没有使用js,原文链接http://geekswithblogs.net/plundberg/archive/2009/ ...
- 201621123010《Java程序设计》第4周学习总结
1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词. 继承extends.多态.抽象类 超级父类Object类.父类.子类. 覆盖Override 初始化块 识别类 重载 1.2 ...
- SQLSERVER 数据调度示例,调度数据到中间表或者历史表
USE [MeiDongPay_Test] GO /****** Object: StoredProcedure [dbo].[Job_BatchTransferOrderToMidst] Scrip ...
- ubuntu16.04x64环境下 tar方式 安装mysql-5.7.21 试水过程记录
前几天读研时候上铺的同学和我说到了一个问题,就是他们单位的redhat服务器给MySQL服务的数据库文件所在的磁盘空间不够了,对于这个问题我也是没有想过的,在受朋友之托下考虑自己做下复现,由于同学所在 ...
- 如何搭建Spring MVC 框架---Hello World
传送门 现在的Web框架基本都采用了MVC(model-view-Controller)设计模式,其中,Servlet和Filter都可以充当控制器.Spring MVC采用一个Servlet作为控制 ...
- BZOJ4571: [Scoi2016]美味【主席树】【贪心】
Description 一家餐厅有 n 道菜,编号 1...n ,大家对第 i 道菜的评价值为 ai(1≤i≤n).有 m 位顾客,第 i 位顾客的期 望值为 bi,而他的偏好值为 xi .因此,第 ...
- Mac 终端下Homebrew的几个常用命令(新手笔记)
最近在研究用appium来做IOS的自动化,所以开始接触Mac系统.记录一下在Mac的终端下Homebrew的几个常用命令 安装(需要 Ruby,不过一般自带都有):ruby -e "$(c ...