matplotlib库解析
matplotlib 是python最著名的2D绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。通过简单的绘图语句,就可以绘制出高质量的图了。
这里我们就主要讲一下inshow()函数的使用吧。
一、引入matplotlib函数库
如果你使用的是windows平台,大家可以直接下载对应版本的matplotlib库的exe文件安装即可。
使用下面的命令引入matplotlib的pyplot模块:
import matplotlib.pyplot as plt
为方便起见,这样我们就可以用plt来代替matplotlib.pyplot使用了。
二、Figure和Subplot
matplotlib的图像都位于Figure对象中,实际上就是创建了一个空的图像窗口。可以用plt.figure创建一个新的Figure。
fig = plt.figure()
不能通过空Figure绘图,必须用add_subplot()创建一个或多个子sunplot绘图区才能绘图。
ax = fig.add_subplot(221)
意思是:绘制2×2两行两列共4个subplot图像,当前选中第一个。编号从1开始。
得到如下的图像:
三、绘制z = sqrt(x^2+y^2) 的二维函数输出图像
(1)准备数据
我们采用二维数组产生两个二维矩阵,对应于所有的(x,y)对。
要使用数组,我们使用NumPy 模块。
import numpy as np
points = np.arange(-5,5,0.01) #产生1000个-5到5等间隔的点
xs,ys = np.meshgrid(points,points) #np.meshgrid()接受两个一维数组产生两个二维矩阵((x,y)对)。
z = np.sqrt(xs**2+ys**2) #计算z = sqrt(x^2+y^2)的值
(2)绘图
ax = fig.add_subplot(221) #第一个子图
ax.imshow(z) #默认配置
ax = fig.add_subplot(222) #第一个子图
ax.imshow(z,cmap = plt.cm.gray) #第二个子图,使用自定义的colormap(灰度图)
ax = fig.add_subplot(223) #第一个子图
ax.imshow(z,cmap=plt.cm.cool) #第二个子图,使用自定义的colormap
ax = fig.add_subplot(224) #第一个子图
ax.imshow(z,cmap=plt.cm.hot) #第二个子图,使用自定义的colormap
plt.show() #显示图像
于是,漂亮的图像就出来了。
可是,细心的你发现,图的坐标怎么是0-1000呢?是这样的,我们给imshow传入z矩阵是1000×1000的,z的索引其实就是图像的坐标,而其值才是通过图的颜色表现出来的。
matplotlib库解析的更多相关文章
- Python中matplotlib模块解析
用Matplotlib绘制二维图像的最简单方法是: 1. 导入模块 导入matplotlib的子模块 import matplotlib.pyplot as plt import numpy as ...
- [深入浅出Windows 10]QuickCharts图表控件库解析
13.4 QuickCharts图表控件库解析 QuickCharts图表控件是Amcharts公司提供的一个开源的图表控件库,这个控件库支持WPF.Silverlight.和Windows等 ...
- 在Ubuntu 14.04 64bit上安装numpy和matplotlib库
原文:http://blog.csdn.net/tao_627/article/details/44004541 按照这个成功安装! 机器学习是数据挖掘的一种实现形式,在学习<机器学习实战> ...
- 使用QtScript库解析Json数组例子
本文转载自:http://blog.sina.com.cn/s/blog_671732440100uwxh.html 使用qtscipt库解析json数组首先在工程文件中加 QT += ...
- 数据分析与展示——Matplotlib库入门
Matplotlib库入门 Matplotlib库介绍 Matliotlib库是Python优秀的数据可视化第三方库. Matliotlib库的效果见:http://matplotlib.org/ga ...
- 【OCP|052】OCP最新题库解析(052)--小麦苗解答版
[OCP|052]OCP最新题库解析(052)--小麦苗解答版 OCP最新题库解析历史连接(052):http://mp.weixin.qq.com/s/bUgn4-uciSndji_pUbLZfA ...
- matplotlib库的简单应用
matplotlib库 import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.family']='Si ...
- 对matplotlib库的运用
1.matplotlib库的运用效果图 绘制基本的三角函数 ...
- 第二周 数据分析之展示 Matplotlib库入门
Matplotlib库介绍:优秀的数据可视化第三方库 使用:Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发,matplotlib.pyplot是绘制各类可视化图形的命令子库 ...
随机推荐
- OFBiz:扩展controller.xml
如何扩展controller.xml?两种方法:一种方法是直接修改原先的controller.xml,这种方法不方便后续升级.第二种方法是新建一个extended.xml文件,再在controller ...
- 简述document.write和 innerHTML的区别。
document.write是重写整个document, 写入内容是字符串的htmlinnerHTML是HTMLElement的属性,是一个元素的内部html内容
- 使用maven开发OSGI样例
一:创建maven项目,在pom.xml里面增加例如以下依赖 <dependency> <groupId>org.osgi</groupId> <artifa ...
- Android - 资源(resource)转换为String
资源(resource)转换为String 本文地址: http://blog.csdn.net/caroline_wendy Android建议资源的动态绑定, 即把string写入资源内, 然后运 ...
- Oracle宣布很多其它的Java 9 新特性
随着Oracle确认了其余的4个Java 9特性,下一代Java的计划開始变得更清晰了,Oracle已经发布了第二套Java 9特性.自从Oracle在今年早些时候宣布了3个新的API和模块化源代码后 ...
- android线程控制UI更新(Handler 、post()、postDelayed()、postAtTime)
依照以下的理解就是handler与ui线程有一定的关联能够由于更新界面仅仅能在主线程中全部更新界面的地方能够在接受消息的handleMessage那里还有更新界面能够在handler.port(new ...
- How to export Excel files in a Python/Django application
https://assist-software.net/blog/how-export-excel-files-python-django-application CONTENTS Introduct ...
- -[__NSArrayI removeAllObjects]: unrecognized selector sent to instance 0x7fa8dc830110
问题 今天做项目,遇到了这个问题 -[__NSArrayI removeAllObjects]: unrecognized selector sent to instance 0x7fa8dc8301 ...
- linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结(转载)
Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进 行压缩了,所以首先就来讲讲ta ...
- centos7系统nginx下phalcon环境搭建
之前我们采用的是Apache服务器,可是每秒响应只能达到2000,听说nginx可以轻易破万, 于是换成nginx试试. phalcon的官网有nginx重写规则的示例,可是却与apache的不一致, ...