matplotlib之pyplot模块plot函数基础一(函数功能、xy参数基本取值,多组数据)

您所在的位置:网站首页 XY函数曲线图标准 matplotlib之pyplot模块plot函数基础一(函数功能、xy参数基本取值,多组数据)

matplotlib之pyplot模块plot函数基础一(函数功能、xy参数基本取值,多组数据)

2024-07-09 03:19| 来源: 网络整理| 查看: 265

plot函数的功能

plot函数是matplotlib中最常见的绘图函数,作用是以x为自变量y为因变量绘制的带结点标记的线条或以x,y为坐标的坐标点(Plot y versus x as lines and/or markers)。 下面通过实例简单演示plot函数的功能。 根据下图可知,plot函数可以绘制带结点标记的线,也可以线和标记点任选其一。 plot函数相当于根据y=f(x)关系,先以x,y为坐标绘制结点,然后用直线连接结点。 在这里插入图片描述

import numpy as np import matplotlib.pyplot as plt plt.subplot(221) # 带标记点的线 plt.plot([1, 2, 3, 4], [1, 4, 9, 16], marker='o') plt.subplot(222) # 只有线,没有标记点 plt.plot([1, 2, 3, 4], [1, 4, 9, 16]) plt.subplot(223) # 没有线,只有标记点 plt.plot([1, 2, 3, 4], [1, 4, 9, 16], 'o') plt.subplot(224) # 绘制y=sin(x)线 x = np.arange(-4,4,0.05) y = np.sin(x) plt.plot(x, y) plt.show() plot函数中x,y参数的基本取值

plot函数的基本调用签名为plot([x], y, [fmt], *, data=None, **kwargs) x,y参数即为线条结点或坐标点的x,y坐标。x,y参数取值非常灵活,这也是plot函数的一大特色。 x,y参数可以是标量,也可以是类似数组的数据结构(列表,numpy数组,pandas dataframe等),通常为1维数组,数组的维度最好一致。

import numpy as np import matplotlib.pyplot as plt plt.subplot(221) # xy为标量 plt.plot(1, 2, marker='o') plt.subplot(222) # xy为列表 plt.plot([1, 2, 3, 4], [1, 4, 9, 16], marker='o') plt.subplot(223) # xy为numpy数组 x = np.arange(-4,4,0.5) y = np.sin(x) plt.plot(x, y) plt.subplot(224) # xy在第一维度上必须一致 plt.plot([1, 2, 3, 4], [[1], [4], [9],[16]], 'o') plt.show() plot函数中x参数的默认值

根据plot函数调用签名可知x参数是可选的,默认值为range(len(y)) 下面的案例中x参数省略了,根据下图可知4个结点的x坐标为0,1,2,3,符合range(len([1, 2, 3, 4]))的取值。 在这里插入图片描述

import matplotlib.pyplot as plt # 只有y参数,x默认为range(len(y)) plt.plot([1, 2, 3, 4],marker='o') plt.show() plot函数中x,y为带标签的数据

plot函数的基本调用签名为plot([x], y, [fmt], *, data=None, **kwargs)

带标签的数据可以理解为可以用data['i']方式访问的数据,可以是字典、pandas dataframe、numpy数组等。这时x,y参数的即为data参数值对应的标签数据。

下面以字典为例简单说明如何使用带标签的数据。 在这里插入图片描述

import matplotlib.pyplot as plt # d为带标签的数据 d = {'x': [1, 2, 3], 'y': [1, 2, 3]} # x,y参数分别为d['x'],d['y'],data参数为d plt.plot('x', 'y', data=d, marker='o') plt.show()

对于dataframe来说,假设有一个表格,其中有很多列,每一个列有一个标签。当我们想使用其中的两列作图的时候,将表格整体传入,只要指定了标签,plot函数就会帮自动把这两列取出来作图。

plot函数绘制多组数据

plot函数绘制多组数据有三种方法:

多次调用plot函数 例如: plot(x1,y1) plot(x2,y2)

在plot函数中调用多组x,y参数 例如:plot(x1,y1,x2,y2)

在plot函数中使用2维数组作为x,y参数

在这里插入图片描述

import numpy as np import matplotlib.pyplot as plt x1 = [1, 2, 3] y1 = [1, 2, 3] x2 = [4, 5, 6] y2 = [4, 5, 6] plt.figure(figsize=(9, 3.1)) # 多次调用plot函数 plt.subplot(131) plt.plot(x1, y1) plt.plot(x2, y2) # 传递多组xy参数 plt.subplot(132) plt.plot(x1, y1, x2, y2) # 传递2维数组为xy参数,第1列为x,其余列为y plt.subplot(133) x = np.array([[0, 1, 2, 3], [3, 4, 5, 6], [6, 7, 8, 9], [9, 10, 11, 12]]) plt.plot(x[:, 0], x[:, 1:]) plt.tight_layout() plt.show()


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3