【Day 29】Matplotlib 介绍

前言

Matplotlib 是一个把数据可视化的套件,他可以和 NumPy 一起连用,与 Matlab 类似,但它还可以结合 Python 的其他套件,是一个非常实用的工具!

Matplotlib

首先要先 import 必要的套件,需要先安装!

第一个程序!

这边设定一个把 -1 到 1 切分成 50 等分的矩阵,并设定 y 的函数,他会根据定义的函数把图形画出来。

一定要打出 plt.show() 才会把画出来的图形显示出来。

import numpy as np
from matplotlib import pyplot as plt

x = np.linspace(-1, 1, 50)     # 建立一个把 -1 到 1 切分成 50 等分的矩阵
y = 2 * x + 3    # 设定 y 轴的值
plt.title("Matplotlib first test")    # 图形的标题
plt.xlabel("x axis name")    # X 轴的名称 
plt.ylabel("y axis name")    # Y 轴的名称
plt.plot(x, y)    # 画出 x 和 y 的关系
plt.show()    # 显示图片

  • 一次显示两张以上的图片:plt.figure()

    上面的程序只会显示一张图片,如果想要一次显示两张以上的图片可以使用这个函式。

    一个 plt.figure() 代表一张图,他下面的指令就会都在同一张图片上,所以若要显示两张图片,就把两张图的座标分别在两个 plt.figure() 下打出来,最後再输入 plt.show() 就可以一次显示两张或以上的图片了。

    import numpy as np
    from matplotlib import pyplot as plt
    
    x = np.linspace(-1, 1, 50)    # 建立一个把 -1 到 1 切分成 50 等分的矩阵
    y1 = 2 * x + 3    # 设定 y1 轴的值
    y2 = x ** 2    # 设定 y2 轴的值
    
    plt.figure()    # 若没指定为图片几,预设为 1, 2, 3 依序往後
    plt.title("Matplotlib first test")    # 图形的标题
    plt.xlabel("x axis name")    # X 轴的名称
    plt.ylabel("y axis name")    # Y 轴的名称
    plt.plot(x, y1)    # 画出 x 和 y 的关系
    
    
    plt.figure(num = 3, figsize = (8, 5))    # 设定为图 3,并且大小为 8 x 5
    plt.title("Matplotlib first test")    # 图形的标题
    plt.xlabel("x axis name")    # X 轴的名称
    plt.ylabel("y axis name")    # Y 轴的名称
    # plt.plot(x, y1, color = 'blue', linewidth = 5.0, linestyle = '--')
    plt.plot(x, y2)    # 画出 x 和 y 的关系
    plt.show()    # 显示图片
    

  • 在一张图显示两条以上的曲线

多打一行 plt.plot() 就可以显示两条以上的曲线了,还可以更改颜色、粗细、线段的类型等参数

import numpy as np
from matplotlib import pyplot as plt

x = np.linspace(-1, 1, 50)    # 建立一个把 -1 到 1 切分成 50 等分的矩阵
y1 = 2 * x + 3    # 设定 y1 轴的值
y2 = x ** 2    # 设定 y2 轴的值

plt.figure()
plt.title("Matplotlib first test")    # 图形的标题
plt.xlabel("x axis name")    # X 轴的名称
plt.ylabel("y axis name")    # Y 轴的名称
plt.plot(x, y1, color = 'red', linewidth = 5.0, linestyle = '--')
# 设定为红色的线,宽度 5.0,虚线
plt.plot(x, y2)    # 画出 x 和 y 的关系
plt.show()    # 显示图片

待续...


<<:  Day29 Let's ODOO: ODOO Apps

>>:  Day29 Android - 简易内嵌网页(webview)

[Day24]C# 鸡础观念- 物件导向(oop)~建构方法(Constructor)

老板我要一个猪排汉堡, 不要番茄,不要小黄瓜, 洋葱加量,加起司, 现实生活中,我们常常会在点餐时跟...

Day27 vue.js简易照片上传功能(base64)

延续昨日 今天我们来处理一下新增帐户的照片 这是我们目前的修改帐户页面 首先先把layout做出来 ...

Day 0xF UVa10071 Back to High School Physics

Virtual Judge ZeroJudge 题意 输入粒子经过 t 秒後的速度为 v,求 2t...

[Day 29] 利用CreateML训练的模型判断情绪(下)

昨天我们已经做出用CreateML训练的模型来判断情绪的app,今天就要来展示我们的成果,那这边设...

Day24 Android - databinding(单向绑定)

databinding可用於将class的data与元件绑定,像是(findViewById、onC...