matplotlib.pyplot快速绘图

绘制简单图表

绘制一个简单图表,需要

  • 图表窗口
  • 定义域
  • 函数对应关系

matplotlib可以干大部分matlab可以做的事,但比较缓慢,所以加入了快速绘图的pyplot模块
所以窗口利用pyplot
定义域采用数组矩阵的方式linspace

import matplotlib.pyplot as plt
import numpy as np

plt.figure(figsize=(8, 4))

x = np.linspace(0, 10, 5)
y = x + 1

plt.plot(x, y)

plt.show()

matplotlib.pyplot快速绘图_第1张图片

linspace

linspace(st,en,size)产生[st,en]的数字,数字个数是size,且有序的等差数列数组,对于有凹凸性的函数,需要加大size的值,因为如果是直线的话,确定2个数后,自动补全,有凹凸性的话需要多个数才能绘制正确的图

绘制y=x*x时size少的情况
matplotlib.pyplot快速绘图_第2张图片
多的情况
matplotlib.pyplot快速绘图_第3张图片

plot

plt.plot的两个基本属性就是函数x的定义域和函数的对应关系
plot(x,y,type)type是实线"-"和虚线"--"
但可以渲染很多东西

  • color曲线长度
  • linewidth曲线宽度
  • 虚实线(第三个参数)
  • label曲线的标签(配合pit.legend()显示标签)

其他渲染

横纵坐标单位

plt.xlabel("Time(s)")
plt.ylabel("Volt")

图标标题

plt.title("$sin(x)and cos(x)$")

支持latex数学公式,但渲染会慢一点

图标网格

plt.grid(True)

多个渲染后的图像

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-5, 5, 100)
y = np.sin(x)
z = x

plt.figure(figsize=(8, 4))  # 图表大小

plt.plot(x, y, label="$sin(x)$", color="red", linewidth=2)  # plot进行绘图,前两个参数是分别表示X、Y 轴数据的对象
plt.plot(x, z, "b--", label="$x$")

plt.xlabel("Time(s)")
plt.ylabel("Volt")
plt.title("$sin(x) and x$")
plt.legend()

plt.show()

matplotlib.pyplot快速绘图_第4张图片

分段函数

你可能感兴趣的:(matplotlib.pyplot快速绘图)