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中imshow()函数绘图的更多相关文章

  1. python 利用matplotlib中imshow()函数绘图

    matplotlib 是python最著名的2D绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中.通过简单的绘图语 ...

  2. 利用matplotlib的plot函数实现图像绘制

    模式识别的一个实验,要求画出贝叶斯决策的图.这里我是利用python中的matplotlib库实现的图线的拟合.主要对于matplotlib的使用可以参照博客:webary 如果要绘制三维图像可以参考 ...

  3. Matlab 中 imshow 函数

    转自: https://blog.csdn.net/xiaochou87/article/details/43488829 matlab中显示图像的语句是:                       ...

  4. 【机器学习】matplotlib库练习-函数绘图

    # 1创建2个图形区域,一个叫做green,大小是16,8,一个叫做red,大小是10,6 # 2绿色区域画一条绿色的正弦曲线,红色区域化两条线,一条是绿色的正弦曲线,一条是红色的余弦曲线 # 3在g ...

  5. Matlab中imshow()函数的使用

    imread() 返回的图像类型是uint8类型, 这时用imshow显示图像的时候, imshow会认为输入矩阵的范围在0-255, 如果imshow的参数为double类型的,那么imshow认为 ...

  6. 利用mysql中if函数排序

    格式:IF(Condition,A,B) 意义:当Condition为TRUE时,返回A:当Condition为FALSE时,返回B. 作用:作为条件语句使用. select if(`from_use ...

  7. 使用matplotlib绘制3D函数图像

    学习并尝试了利用matplotlib进行3D函数图像的绘制 import matplotlib.pyplot as plt # 绘图用的模块 from mpl_toolkits.mplot3d imp ...

  8. python中利用matplotlib绘图可视化知识归纳

    python中利用matplotlib绘图可视化知识归纳: (1)matplotlib图标正常显示中文 import matplotlib.pyplot as plt plt.rcParams['fo ...

  9. 基于Python实现matplotlib中动态更新图片(交互式绘图)

    最近在研究动态障碍物避障算法,在Python语言进行算法仿真时需要实时显示障碍物和运动物的当前位置和轨迹,利用Anaconda的Python打包集合,在Spyder中使用Python3.5语言和mat ...

随机推荐

  1. CSS3 Flex布局(项目)

    一.order属性 order属性定义项目的排列顺序.数值越小,排列越靠前,默认为0. 二.flex-grow属性 flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大. ...

  2. linux环境配置nginx导致页面不刷新

    在linux环境下,配置了nginx负载均衡,由于可能在虚拟主机的配置文件nginx.conf中,对缓存机制未配置成功,导致页面不刷新,仍然显示缓存中的内容. 最后通过注释nginx.conf文件中的 ...

  3. js获取链接等号“=”后面的参数

    用该属性获取页面 URL 地址: window.location 对象所包含的属性 属性 描述 hash 从井号 (#) 开始的 URL(锚) host 主机名和当前 URL 的端口号 hostnam ...

  4. 如何对你的Python代码进行基准测试

    啥叫做基准测试(benchmark)代码?其实主要就是测试(benchmarking)和分析(profiling)你的代码执行多快,并且找到代码瓶颈(bottlenecks)在哪里. 执行该动作的主要 ...

  5. Redis作者谈Redis应用场景(转)

    add by zhj : 这是Redis的作者antirez在他的技术博客中写的一篇文章 英文原文:take-advantage-of-redis-adding-it-to-your-stack 译文 ...

  6. 前端基础 & Bootstrap框架

    Bootstrap介绍 Bootstrap是Twitter开源的基于HTML.CSS.JavaScript的前端框架. 它是为实现快速开发Web应用程序而设计的一套前端工具包. 它支持响应式布局,并且 ...

  7. HDU 3182 Hamburger Magi(状压dp)

    题目链接:pid=3182">http://acm.hdu.edu.cn/showproblem.php?pid=3182 Problem Description In the mys ...

  8. android自定义控件(三)ProgressBar

     1.ProgressBar有两个进度,一个是android:progress,另一个是android:secondaryProgress.比如视频的缓存进度以及播放进度. 在这里缓存的进度就可以是a ...

  9. 自定义gradle plugin

    最近开始接触gradle 正好有个需求apidoc

  10. jQuery:自学笔记(2)——jQuery选择器

    jQuery:自学笔记(2)——jQuery选择器 基本选择器 说明 jQuery的基本选择器与CSS的选择器相似: 实例 标签选择器 //使用标签选择器更改字体大小 $(div).css('font ...