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库解析的更多相关文章

  1. Python中matplotlib模块解析

    用Matplotlib绘制二维图像的最简单方法是: 1.  导入模块 导入matplotlib的子模块 import matplotlib.pyplot as plt import numpy as ...

  2. [深入浅出Windows 10]QuickCharts图表控件库解析

    13.4 QuickCharts图表控件库解析     QuickCharts图表控件是Amcharts公司提供的一个开源的图表控件库,这个控件库支持WPF.Silverlight.和Windows等 ...

  3. 在Ubuntu 14.04 64bit上安装numpy和matplotlib库

    原文:http://blog.csdn.net/tao_627/article/details/44004541 按照这个成功安装! 机器学习是数据挖掘的一种实现形式,在学习<机器学习实战> ...

  4. 使用QtScript库解析Json数组例子

    本文转载自:http://blog.sina.com.cn/s/blog_671732440100uwxh.html 使用qtscipt库解析json数组首先在工程文件中加 QT        += ...

  5. 数据分析与展示——Matplotlib库入门

    Matplotlib库入门 Matplotlib库介绍 Matliotlib库是Python优秀的数据可视化第三方库. Matliotlib库的效果见:http://matplotlib.org/ga ...

  6. 【OCP|052】OCP最新题库解析(052)--小麦苗解答版

    [OCP|052]OCP最新题库解析(052)--小麦苗解答版 OCP最新题库解析历史连接(052):http://mp.weixin.qq.com/s/bUgn4-uciSndji_pUbLZfA ...

  7. matplotlib库的简单应用

    matplotlib库 import matplotlib.pyplot as plt import matplotlib matplotlib.rcParams['font.family']='Si ...

  8. 对matplotlib库的运用

    1.matplotlib库的运用效果图 绘制基本的三角函数                                                                        ...

  9. 第二周 数据分析之展示 Matplotlib库入门

    Matplotlib库介绍:优秀的数据可视化第三方库 使用:Matplotlib库由各种可视化类构成,内部结构复杂,受Matlab启发,matplotlib.pyplot是绘制各类可视化图形的命令子库 ...

随机推荐

  1. Drupal 7 driver for SQL Server and SQL Azure

    Drupal 7 driver for Microsoft SQL Server database engines. It supports both SQL Server (version 2008 ...

  2. 计算机必知必会:进程process与线程thread 进程定义为一个正在运行的程序的实例

    http://www.nowamagic.net/librarys/veda/detail/1741进程和线程这对概念的理解也是很难的,至今网络上可查的资料对其的理解出入都挺大,在不同的操作系统中,如 ...

  3. Android虚拟键盘弹出时挡住EditText解决方法

    在manifest的activity节点使用 Xml代码   <activity android:windowSoftInputMode="adjustResize"/> ...

  4. moment

    var now = moment(1410181234567)var formatted = now.format('YYYY-MM-DD HH:mm:ss')console.log(formatte ...

  5. mybatis 特殊符号转义和模糊查询和批量插入

    1 xml文件特殊符号转义 <          < >          > <>   <> &      & &apos; ...

  6. (void)0和0的区别及用法

    (void)0相当于宏NULL,NULL本身的含义为“空”,在c语言代表“不存在.不确定”的含义. 0不能简单的理解为“没有”的意思,在c语言及二进制中,0和1代表的是“一件事物的正反两个方面“,0是 ...

  7. CXSprite.h文件

    #ifndef __XSprite_H__ #define __XSprite_H__ #include "CocoHead.h" #define BTN_FRAME_AMOUNT ...

  8. sass 的使用心得

    //定义颜色 $c55:#; $c22:#; $c33:#; $c99:#; $c77:#; $c00:#; $cff:#fff; $caa:#aaa; $ccc:#ccc; $cf0:#f0f0f0 ...

  9. 数据库填充DataSet,逐行访问

    DataSet 对象是 Microsoft .NET 框架中数据访问的关键部分,是可保存表.视图和关系的内存中对象.本文介绍如何使用一个或多个数据库查询的结果填充 DataSet 对象,以及在将这些数 ...

  10. 等边三角形---dfs

    蒜头君手上有一些小木棍,它们长短不一,蒜头君想用这些木棍拼出一个等边三角形,并且每根木棍都要用到. 例如,蒜头君手上有长度为 11,22,33,33 的4根木棍,他可以让长度为11,22 的木棍组成一 ...