机器学习之numpy和matplotlib学习(二)

来源:互联网 发布:香港广华街枪店淘宝 编辑:程序博客网 时间:2024/06/06 05:02

第二天更新
今天我们来学习怎么使用matplotlib和numpy来做一个简单的图像。
先从代码入手,代码介绍如下:

我们要做一个y=x*x的图像,也就是初中经常学的一元二次函数的图像。
x是一个等差数列,从【-5,5】共50个数。
y=x*x。
下面来简单介绍使用matplotlib绘画的基本步骤。

  1. 引入matplotlib.pyplot,具体代码import matplotlib.pyplot as plt

  2. 因为目前我们初步学习一般是绘画二维图像,也就是一定要有x,y。给x,y初始化,我们这里的x是一个等差数列,之前介绍过了。

  3. 调用plt.plot(x,y)。【plot翻译过来是绘制,也就是开始绘制x,y】

  4. 显示图像,调用plt.show()。

    这里可能会有疑问那plt.figure()是干嘛的?下一个程序给你解释,不急。
    plt.figure()可有可无,但是没有的话就默认一个程序所有的绘制都是在一个图像上面进行,这样一般不太好,所以我建议大家还是带上比较好!!!

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Author  : SundayCoder-俊勇# @File    : figure0.py# 以后基本都是以这种方式使用matplotlib和numpy。import matplotlib.pyplot as pltimport numpy as npx=np.linspace(-5,5,50)y=x*xplt.figure()plt.plot(x,y)plt.show()

这里写图片描述

下面来解释一下plt.figure()是干嘛?
figure翻译过来是图像的意思,大家有没有注意到程序截图左上方有个figure1这就是一个图像。
有时候一个程序里面可以绘制几个图像。
有几个图像就有几个几个plt.figure()。
下面来看一个例子:

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Author  : SundayCoder-俊勇# @File    : figure0.py# 以后基本都是以这种方式使用matplotlib和numpy。import matplotlib.pyplot as pltimport numpy as npx=np.linspace(-5,5,50)y=x*x# 第一幅图像绘制x*x,一个plt.figure()下的所有东西都是这个图像的,直到遇到下一个plt.figure()。plt.figure()plt.plot(x,y)#以上是第一幅图像的全部内容。# 这里是第二幅图像绘制2*x+1plt.figure()y1=2*x+1plt.plot(x,y1)#以上是第二幅图像的全部内容。plt.show()

运行结果:
这里写图片描述

下面对plt.figure()函数做一个讲解,最常用的参数是num,和figsize。
num代表的就是图像的顺序,例如上面两个图像,由于没有指定参数,自动从1开始。
figsize是图像的显示大小,它的赋值类似坐标(a,b)。a代表长,b代表宽。
下面做一个实验,之前第一幅图像绘制的是x*x,我们改变他的图像顺序和显示大小。
再来比较结果。

import matplotlib.pyplot as pltimport numpy as npx=np.linspace(-5,5,50)y=x*x# 第一幅图像绘制y=x*xplt.figure(num=3,figsize=(10,10))plt.plot(x,y)# 这里是第二幅图像绘制一元一次函数y=2*x+1plt.figure()y1=2*x+1plt.plot(x,y1)plt.show()

结果:
这里写图片描述
现在图片从3开始,并且第一张图片显示大小是10*10的正方形。
plt.figure()就讲解到这里结束。
你会用matplotlib画一个简单的图像了吗?

更新完毕