Python 的 Matplotlib 画图库
Matplotlib安装
NumPy库方便数值运算,但枯燥的数据并不利于人们的直观理解。
数据需要可视化。
Matplotlib:一个数据可视化函数库
使用前需要安装
利用Python自带的pip工具自动安装
访问python官网提供的扩展包下载页面安装 https://pypi.python.org/pypi pyplot子库
Matplotlib的子库pyplot提供了2D图表制作的基本函数, 实现如:
创建图形, 在图形上创建画图区域, 在画图区域上画线,在线上标注等功能。 域上画线,在线上标注等功能。
推荐学习手册下载链接地址如下:http://www labri fr/perso/nrougier/teaching/matplotlib/
初级绘图-例1散点图绘制
plot()函数基础
示例程序如下:
import matplotlib.pyplot as plt
plt.plot([1,2,3,4,5,6],'ro')
plt.ylabel('Decription of y value')
plt.show()
显示结果如下:![]()
初级绘图-例2
利用Numpy库的linspace函数生成了一个numpy数组X,包含了从-π到+π等间隔的256个值。
S和C则分别是这256个值对应的其正弦x和其平方的余弦xian值组成的numpy数组。 的余弦xian值组成的numpy数组。
利用plot函数打印相应图形
legend函数用来描述表示每条曲线的标签
Title函数用来设置 图标题。
import numpy as np
from matplotlib.pyplot import *
X=np.linspace(-np.pi,np.pi,256,endpoint=True)
C,S=np.cos(X*X),np.sin(X)
plot(X,C,"ro",label="$sin(x)$")
plot(X,S,label="$cos(x^2)$")
xlabel("xlabel")
ylabel("ylabel")
legend()
title("This is Title")
show()
显示结果如下:
初级绘图-多子图绘制
Pyplot子库也可以被用来生成多个子图
使用subplot()绘制含有多个子图的图表,语法如下:
subplot(nRows, mCols, plotNum)
图表的整个绘图区域被等分为n行和m列 然后按照从左到右、从上到下的顺序对每个区域进行编号 ,左上区域的编号为1。
plotNum参数指定所创建的子图编号。
如果新创建的子图和之前创建的子图区域有重叠的部分,则之前的子图将被覆盖。
from matplotlib.pyplot import *
subplot(221)
subplot(222)
subplot(121)
subplot(224)
show()
显示结果如下:...

初级绘图-双子图绘制实例:
import numpy as np
import matplotlib.pyplot as plt
def f(t):
return np.exp(-t) *np.cos(2*np.pi*t)
t1=np.arange(0.0,5.0,0.1)
t2=np.arange(0.0,5.0,0.02) plt.subplot(211)
plt.plot(t1,f(t1),"bo",t2,f(t2),"k")
plt.subplot(212)
plt.plot(t2,np.cos(2*np.pi*t2),"r--")
plt.show()
显示结果如下:...

初级绘图-直方图绘制
直方图是数据的一种重要展现形式,它也叫柱状图,是将一个变量的不同等级的相对频数用矩形块标绘的图表。
matplotlib提供的直方图绘制函数为hist()
其中参数50表示直方图中直条即bin的个数,normed参数是一个布尔值,为真时,表示需要将直方图归一化,
纵轴以概率的形式表示。text函数用来在指定位置添加文本标识 用来在指定位置添加文本标识
import numpy as np
import matplotlib.pyplot as plt mu,sigma=100,15
x=mu+sigma*np.random.randn(10000)
plt.hist(x,50,normed=1,facecolor="g")
plt.xlabel("Smarts")
plt.ylabel("Probability")
plt.title("Histogram of IQ")
plt.text(60,0.025,r"$\mu=100,\ \sigma=15$")
plt.axis([40,160,0,0.03])
plt.show()
显示结果如下:...

初级绘图
matplotlib还有很多功能强大的其他子库,比如可以利用image这个子库,对图像进行操作 g
示例如下, 其中image子库的imread函数将png 图片各个像素点的RGB值存入到numpy的数组中 图片各个像素点的RGB值存入到numpy的数组中
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
img=mpimg.imread("180319-pythonlogo.png")
plt.imshow(img)
plt.show()
显示结果如下:...
Python 的 Matplotlib 画图库的更多相关文章
- Python:2D画图库matplotlib学习总结
本文为学习笔记----总结!大部分为demo.一部分为学习中遇到的问题总结.包含怎么设置标签为中文等.matlab博大精深.须要用的时候再继续吧. Pyplot tutorial Demo地址为:点击 ...
- python中matplotlib画折线图实例(坐标轴数字、字符串混搭及标题中文显示)
最近在用python中的matplotlib画折线图,遇到了坐标轴 "数字+刻度" 混合显示.标题中文显示.批量处理等诸多问题.通过学习解决了,来记录下.如有错误或不足之处,望请指 ...
- 使用 Python 的 matplotlib 绘图库进行绘图
matplotlib 是 Python 最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中. 1 使用 Ma ...
- Python:Matplotlib 画曲线和柱状图(Code)
原文链接:http://blog.csdn.net/ikerpeng/article/details/20523679 参考资料:http://matplotlib.org/gallery.html ...
- python用matplotlib画折线图
折线图: import matplotlib.pyplot as plt y1=[10,13,5,40,30,60,70,12,55,25] x1=range(0,10) x2=range(0,10) ...
- Python数据分析matplotlib可视化之绘图
Matplotlib是一个基于python的2D画图库,能够用python脚本方便的画出折线图,直方图,功率谱图,散点图等常用图表,而且语法简单. Python中通过matplotlib模块的pypl ...
- 推荐:python科学计算pandas/python画图库matplotlib【转】
机器学习基础3--python科学计算pandas(上) 地址:https://wangyeming.github.io/2018/09/04/marchine-learning-base-panda ...
- python画图库及函数,绘制图片从文件提取出来的数据集转化为int,不然作为坐标轴的时候因为是字符串而无法排序
转化int:
- 用matplotlib画线
1:matplotlib基础 Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形[1] . 通过 Matplotlib,开发者可以 ...
随机推荐
- 从volatile说到i++的线程安全问题
简介 volatile关键字保证了在多线程环境下,被修饰的变量在别修改后会马上同步到主存,这样该线程对这个变量的修改就是对所有其他线程可见的,其他线程能够马上读到这个修改后值. Thread的本地内存 ...
- Android几种Service常驻内存的小思路
老话说的好:躲得了初一,躲只是高三 ! 大多数的Android开发人员遇到的一个问题-怎样保证Service常驻内存. 近期我最终也在项目中务必幸运的遇到了 先来了解一下什么是Service常驻内存. ...
- [4] 圆锥(Cone)图形的生成算法
顶点数据的生成 bool YfBuildConeVertices ( Yreal radius, Yreal height, Yuint slices, YeOriginPose originPose ...
- 【转载】如果快速开发APP&创业
先贴原文所在个人博客: http://uikoo9.com/ 今天看了一些这个人的文章,还是有一定见解的,比如下面这篇 <如何快速开发出一个高质量的APP——创业谈> http://uik ...
- mysql必知必会(一、数据库基础知识)
基础概念 1.数据库(database):是一个以某种有组织的方式存储的数据集合.(保存有组织的数据的容器) 2.表(table):是一种结构化的文件,可用来存储某种特定类型的数据.(表名在同个数据库 ...
- natapp搭建外网服务器
首先在natapp官网注册一个账号:https://natapp.cn/ 注册好后登陆网站,点击左侧菜单中的购买隧道: 点击免费隧道后进入隧道配置页面,我这里已经配置好了直接展示如下: 点击保存后点击 ...
- Postfix接收邮件后转向运行特定的脚本
本文主要參考:http://serverfault.com/questions/258469/how-to-configure-postfix-to-pipe-all-incoming-email-t ...
- 【网络文摘】Androidguy:当你的才华还无法撑起你的野心时,那么应该静下心来学习
[序] 2013年12月初,接到51CTO的邀请写一篇关于挨踢人物传记的邀请.尽管写文章对我已不是什么新鲜事.数年来写的书和博客至少也在600万字以上.不过基本都是与技术有关的.写传记这还是头一次,也 ...
- 分享几套古典复古式的UI设计
古典复古的UI界面设计能够非常好的点缀你的网页,特别是如果你需要展示你的产品或者内容的深度内涵或者体验你的内容或者产品的经久不衰的气质的 话,古典或者复古式的界面UI绝对是你首选,在这里我们收集了10 ...
- 经典,HTML5游戏,超级玛丽
在线演示 在线演示 本地下载 这是一款使用HTML5开发的超级玛丽,有没有点儿时的记忆?长按向上键,可以跳的更高哦.如果你也喜欢可以当成休闲游戏,如果你是开发者,不防下载下来看看是如何生成的.

