• 利用matplotlib中imshow()函数绘图


    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的索引其实就是图像的坐标,而其值才是通过图的颜色表现出来的。

  • 相关阅读:
    华为云DevCloud为开发者提供高效智能的可信开发环境
    【HC资料合集】2019华为全联接大会主题资料一站式汇总,免费下载!
    在modelarts上部署mask-rcnn模型
    独立物理机和虚拟机比较有什么优势?
    .Net Core下使用MQTT协议直连IoT平台
    解惑Python模块学习,该如何着手操作...
    sar命令,linux中最为全面的性能分析工具之一
    窥探日志的秘密
    Debian 如何使用测试版更新软件包到最新的版本
    如何使用vsphere client 克隆虚拟机
  • 原文地址:https://www.cnblogs.com/sthinker/p/6775683.html
Copyright © 2020-2023  润新知