matplotlib简介
python的matplotlib包可以帮助我们绘制丰富的图表,有助于我们的数据分析。
matplotlib官方文档:matplotlib
本博客所有代码默认导入matplotlib.pyplot和numpy包,即默认有以下代码:
import matplotlib.pyplot as plt
import numpy as np
最基本的x-y函数图象:plt.plot()
以y=sin(x),x=2πt;where t:[0,2]的图象为例
示例代码:
t=np.arange(0.0,2.0,0.01)#自变量t
s=np.sin(2*np.pi*t)#计算y
#####必须语句######
plt.plot(t,s)#指定x,y
plt.xlabel('t')#x轴标签
plt.ylabel('y')#y轴标签
plt.title(r'image')#图象标题
plt.grid(True)#画网格
#####必须语句######
plt.show()#画出图象

直方图:plt.hist()
画直方图最核心的函数为plt.hist(),其主要参数有:
- x:每个矩形条的高度,list等数组
- bins:矩形条个数,matplotlib把矩形条称为“箱”
返回值:
- n:矩形条高度(y轴)
- bins:矩形条横向位置(x轴)
- patches:矩形条对象,包含n,bins信息
详见:hist官方文档
以均值mu=100,方差sigma=15的正态分布的函数图像为例
示例代码1:
import matplotlib.mlab as mlab
mu=100
sigma=15
x=mu+sigma*np.random.randn(10000)#生成矩形条高度
num_bins=10#矩形条个数
#####必须语句######
n,bins,patches=plt.hist(x,num_bins)#传入矩形条高度和个数
plt.xlabel('x')
plt.ylabel('y')
plt.title('histogram')
#####必须语句######
plt.show()

示例代码2:
import matplotlib.mlab as mlab
mu=100
sigma=15
x=mu+sigma*np.random.randn(10000)
num_bins=50
#normed=1表示画的是概率密度,和为1;facecolor:矩形条颜色;alpha:色深参数n,bins,patches=plt.hist(x,num_bins,normed=1,facecolor='green',alpha=0.5)
#画出一条逼近的曲线
y=mlab.normpdf(bins,mu,sigma)
plt.plot(bins,y,'r--')
plt.xlabel('x')
plt.ylabel('y')
plt.title('histogram')
plt.show()

3d离散点ax.scatter()
详见:scatter官方文档
示例代码:
from mpl_toolkits.mplot3d import Axes3D
#x_list为离散点的list,内层list为一个三元组,每一个三元组代表三维空间中的一个点
x_list=[[1,2,3]]
fig=plt.figure()
ax=fig.gca(projection='3d')#返回坐标轴,projection还可以传入'polar'
for x in x_list:#遍历每个点,绘制
ax.scatter(x[0],x[1],x[2],c='r')
plt.show()

3d空间曲面ax.plot_surface()
示例代码:
from matplotlib import cm
from matplotlib.ticker import LinearLocator,FormatStrFormatter
fig=plt.figure()
ax=fig.gca(projection='3d')
X=np.arange(-5,5,0.1)#x坐标
Y=np.arange(-5,5,0.1)#y坐标
X,Y=np.meshgrid(X,Y)
R=np.sqrt(X**2+Y**2)
Z=np.sin(R)#计算出z坐标
#画表面:x,y,z坐标,rstride:横向步长,cstride:纵向步长,cmap:颜色,linewidth:线宽,antialiased:是否渐变
surf=ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=cm.coolwarm,linewidth=0,antialiased=False)
ax.set_zlim(-1.01,1.01)#坐标系的下边界和上边界
ax.zaxis.set_major_locator(LinearLocator(10))#设置Z轴标度
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))#Z轴精度
#shrink颜色条伸缩比例(0-1),aspect颜色条宽度(反比例,数值越大宽度越窄)
fig.colorbar(surf,shrink=0.5,aspect=5)
plt.show()

饼形图plt.pie()
示例代码1:
labels='Frogs','Hogs','Dogs','Logs'#设置标签
size=[15,30,45,10]#占比,和为100
colors=['yellow','gold','lightskyblue','lightcoral']#颜色
#展开第二个扇形,即Hogs,间距为0.1.注意explode传入的是一个tuple,哪个位置不为0,哪个对应的标签被展开,且不为0的数值就是展开的间距值
explode=(0,0.1,0,0)
#startangle控制饼状图的旋转方向
plt.pie(size,explode=explode,labels=labels,colors=colors,shadow=True,startangle=90)
plt.show()

示例代码2:
labels='Frogs','Hogs','Dogs','Logs'
size=[15,30,45,10]
colors=['yellow','gold','lightskyblue','lightcoral']
explode=(0,0,0.1,0)#展开Dogs,间距值0.1
#autopct参数表示显示百分比,且决定了百分比的格式
plt.pie(size,explode=explode,labels=labels,colors=colors,shadow=True,autopct='%1.1f%%',startangle=90)
plt.show()

matplotlib简介的更多相关文章
- matplotlib简介及安装
官网介绍: Matplotlib is a Python 2D plotting library which produces publication quality figures in a var ...
- matplotlib简介-高质量图形输出
Matplotlib 是一个用来绘制二维图形的 Python 模块,它克隆了许多 Matlab 中的函数, 用以帮助 Python 用户轻松获得高质量(达到出版水平)的二维图形. 文章来源:http: ...
- Matplotlib基本使用简介
目录 Matplotlib基本使用简介 1. Matplotlib简介 2. Matplotlib操作简介 Matplotlib基本使用简介 1. Matplotlib简介 Matplotlib是 ...
- 05. Matplotlib 1 |图表基本元素| 样式参数| 刻度 注释| 子图
1.Matplotlib简介及图表窗口 Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python.numpy.pandas基本数据结构,运营高效且有较丰富的图表 ...
- python使用matplotlib绘制折线图教程
Matplotlib是一个Python工具箱,用于科学计算的数据可视化.借助它,Python可以绘制如Matlab和Octave多种多样的数据图形.下面这篇文章主要介绍了python使用matplot ...
- Matplotlib新手上路(上)
matplotlib是python里用于绘图的专用包,功能十分强大.下面介绍一些最基本的用法: 一.最基本的划线 先来一个简单的示例,代码如下,已经加了注释: import matplotlib.py ...
- Python - matplotlib 数据可视化
在许多实际问题中,经常要对给出的数据进行可视化,便于观察. 今天专门针对Python中的数据可视化模块--matplotlib这块内容系统的整理,方便查找使用. 本文来自于对<利用python进 ...
- matplotlib 练习
官网 vamei的博客还是读了就秒懂,很妙, matplotlib核心剖析 官网翻译也不错,但缺少了 Logarithmic and other nonlinear axis对数等非线性轴 这一模块 ...
- 图表绘制工具--Matplotlib 1
''' [课程3.] Matplotlib简介及图表窗口 Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python.numpy.pandas基本数据结构,运营高 ...
随机推荐
- echarts改变颜色属性的demo
一:柱状图改变颜色 图片.png 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8&qu ...
- CF337D Book of Evil - 树型dp
传送门 题目大意: 一棵树上有一个特殊点,特殊点可以影响距离小于等于d的点,现在告诉被影响的点,问特殊点可以在几个点上. 题目分析: 对题意进行转化:求到被影响点的最大距离小于等于d的点数目. 然后就 ...
- Linux下安装mysql(2) 及常见问题解决(CentOS)
上一篇讲了基本的安装,这篇姑且算作进阶吧 链接Linux下安装mysql(1) 1.准备好mysql的rpm安装包 2.解压并进入usr/local/mysql 3.先执行useradd mysql( ...
- nginx 和 tomcat 生产环境配置 建议和方法
参考 以下内容: http://blog.csdn.net/lifetragedy/article/details/7708724 一. nginx参数调优 worker_processes 3; ...
- hexo的url路径修改以及发布与修改时间
hexo默认url是年/月/日,这样其实不利于SEO.hexo生成新文章命令,hexo new [layout] <title>,这个title最好是英文的,因为我们要把这个title放在 ...
- Java实现多文件压缩打包的方法
package com.biao.test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutpu ...
- 手推机器学习公式(一) —— BP 反向传播算法
方便起见,本文仅以三层的神经网络举例. f(⋅):表示激励函数 xi:表示输入层: yj:表示中间的隐层: yj=f(netj) netj=∑i=0nvijxi ok:表示输出层,dk 则表示期望输出 ...
- wpf控件开发基础(3) -属性系统(2)
原文:wpf控件开发基础(3) -属性系统(2) 上篇说明了属性存在的一系列问题. 属性默认值,可以保证属性的有效性. 属性验证有效性,可以对输入的属性进行校验 属性强制回调, 即不管属性有无发生变化 ...
- HDU 4862 Jump(更多的联合培训学校1)(最小费用最大流)
职务地址:pid=4862">HDU4862 最小费用流做的还是太少. 建图想不出来. . . 直接引用官方题解的话吧... 最小K路径覆盖的模型.用费用流或者KM算法解决,构造二部图 ...
- arcserver开发小结(二)
一.关于服务器上下文 1,服务器上下文(ServerContext)本质上是一个GIS服务器上的进程,它是服务器端编程的起点. 2,只有本地资源才能得到服务器上下文,通常得到服务器上下文的主线是: M ...