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. Linux-iptables详解

    一:前言   防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种.无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘.而我们的任务就是需要去定义到底防 ...

  2. 新浪微博XSS攻击事件

    http://blog.csdn.net/terryzero/article/details/6575078 6月28日20时14分左右开始,新浪微博出现了一次比较大的XSS攻击事件.大量用户自动发送 ...

  3. Linux平台上实现队列

    转载: http://my.oschina.net/sundq/blog/203600 Linux上目前有两种事件通知方式,一种是线程条件变量,一种是利用eventfd实现事件通知,下面介绍一下利用这 ...

  4. Linux系统里如何彻底的清空终端屏幕?

    Linux用户,特别是Ubuntu或CentOS用户,基本上都习惯使用clear命令或Ctrl+L组合快捷键来清空终端屏幕.但是,这样做其实并不是真正的清空屏幕,它只是给人一种错觉,让人以为屏幕清空了 ...

  5. mac go环境报警告

    go get -u github.com/beego/bee 报警告: # github.com/beego/beeld: warning: text-based stub file /System/ ...

  6. 温故而知新 js 的错误处理机制

    // 在函数块的try中return,会直接成为函数的return值 function test() { try { alrt(123) return 'success' } catch(err) { ...

  7. Linux下的MySQL主主复制

    为什么,会有mysql的主主复制.因为在一些高可用的环境中,mysql的主从不能满足现实中的一些实际需求.比如,一些流量大的网站数据库访问有了瓶颈,需要负载均衡的时候就用两个或者多个的mysql服务器 ...

  8. cocos2dx, 重新initWithSpriteFrameName与重新setTexture()+setTextureRect()区别

    比如我们有一个sprite是通过createWithSpriteFrameName创建的,现在我们需要为其更换贴图,有两种方法: 一种方法是再次调用createWithSpriteFrameName, ...

  9. Android批量图片载入经典系列——afinal框架实现图片的异步缓存载入

    一.问题描写叙述 在之前的系列文章中,我们使用了Volley和Xutil框架实现图片的缓存载入,接下来我们再介绍一下afinal 框架的使用. Afinal 是一个android的http框架.sql ...

  10. Objective-C函数重载规则

    是按照函数标签是否重复来判断是否为一个重载函数的.