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()方法

matplot绘图(五)的更多相关文章
- 使用matplot绘图 @python
1. 使用csv 模块读取数据 2. 定义label 3. 绘图,调参 #!/usr/bin/env python # coding=utf-8 import sys import matplotli ...
- matplot绘图基本使用
先看一个最简单的例子 import matplotlib.pyplot as plt plt.figure() plt.subplot(211) plt.plot([1,2,3], color=''r ...
- matplot绘图
import matplotlib.pyplot as pltimport numpy as npimport matplotlib # 设置matplotlib正常显示中文和负号matplotlib ...
- python matplot 绘图
import numpy as np import matplotlib.pyplot as plt plt.figure(1) # 创建图表1 plt.figure(2) # 创建图表2 ax1 = ...
- matplot绘图无法显示中文的问题
手动添加: from pylab import * mpl.rcParams['font.sans-serif'] = ['SimHei'] #指定默认字体 mpl.rcParams['axes.un ...
- 教你如何绘制数学函数图像——numpy和matplotlib的简单应用
numpy和matplotlib的简单应用 一.numpy库 1.什么是numpy NumPy系统是Python的一种开源的数值计算扩展.这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表 ...
- 用python一步一步教你玩微信小程序【跳一跳】
12月28日,微信上线了小游戏「跳一跳」,瞬间成了全民游戏,如何牢牢占据排行榜的第一位呢?用Python帮助你,Python真的无所不能. 作为技术出身的我们,是不是想用技术改变排名呢? 注意:本文适 ...
- 用Python来玩微信跳一跳
微信2017年12月28日发布了新版本,在小程序里面有一个跳一跳小游戏,试着点一点玩了下.第二天刚好在一篇技术公众号中,看到有大神用Python代码计算出按压时间,向手机发送android adb命令 ...
- 微信小游戏“跳一跳”,Python“外挂”已上线
微信又一次不声不响地搞了个大事情: “小游戏”上线了! 于是,在这辞旧迎新的时刻,毫无意外的又火了. 今天有多少人刷了,让我看到你们的双手! 喏,我已经尽力了…… 不过没关系,你们跳的再好,在毫无心理 ...
随机推荐
- iOS 隐藏百度地图SDK的百度LOGO
第一个思路:找到LOGO对应的UIIMageView,并将其隐藏hidden // 隐藏百度地图Logo UIView *mView = _mapView.subviews.firstObject; ...
- Sicily 1027. MJ, Nowhere to Hide
//就是一个简单的字符串配对~~用map来解决很easy #include <iostream> #include <map> #include <string> ...
- II play with GG(思维规律)
时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 IG won the S champion ...
- Netty(4)Stream by codec(粘包与拆包)
TCP/IP,传输的是byte[],将byte[]放入队列中.可能会发生粘包和拆包. 比如,客户端向服务端发送了2条消息,分别为D1,D2,可能产生的情况,如下图所示: 情况一:正常的. 情况二:粘包 ...
- NET高性能IO
System.IO.Pipelines: .NET高性能IO https://www.cnblogs.com/xxfy1/p/9290235.html System.IO.Pipelines是一个新的 ...
- 自定义Spring Security的身份验证失败处理
1.概述 在本快速教程中,我们将演示如何在Spring Boot应用程序中自定义Spring Security的身份验证失败处理.目标是使用表单登录方法对用户进行身份验证. 2.认证和授权(Authe ...
- c#的Lambda 表达式
首先看官方的说法: Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数. 通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数. Lambda 表达式 ...
- 第十七章 提升用户体验 之 使用MVC扩展功能控制程序行为
1. 概述 ASP.NET MVC具有很好的扩展性,每一个核心功能都可以被扩展.重写 和 定制. 本章内容包括:实现MVC过滤器和controller工厂.使用 action results,view ...
- 死磕 java原子类之终结篇(面试题)
概览 原子操作是指不会被线程调度机制打断的操作,这种操作一旦开始,就一直运行到结束,中间不会有任何线程上下文切换. 原子操作可以是一个步骤,也可以是多个操作步骤,但是其顺序不可以被打乱,也不可以被切割 ...
- css:focus伪类的使用
css中:focus伪类的使用,即给已获取焦点的元素设置样式 示例一 <!DOCTYPE html> <html lang="en"> <head&g ...