欢迎访问宙启技术站
智能推送

matplotlib中的plot()函数绘制折线图

发布时间:2023-06-23 15:04:48

matplotlib是Python最流行的绘图库之一,它提供了丰富的绘图方法和易于使用的接口,可以帮助我们快速地绘制出各种统计图表。其中,plot()函数被广泛地应用于绘制折线图。

本文将从以下几个方面介绍matplotlib中的plot()函数绘制折线图:

1. plot()函数的基本语法

2. 常见参数介绍

3. 绘制简单的折线图

4. 添加标题、轴标签和图例

5. 绘制多条折线图

6. 添加注释和箭头

7. 绘制区域图

8. 添加水印和边框

1. plot()函数的基本语法

matplotlib的pyplot模块中提供了plot()函数来创建折线图,它的基本语法如下:

plot(x, y, 格式字符串, ...)

其中,x为x轴上的数据点序列,y为y轴上的数据点序列,格式字符串指定线条颜色、线型、标记样式等。例如:

x = [1, 2, 3, 4, 5]
y = [3, 5, 4, 6, 8]
plot(x, y, 'ro-')

表示以红色圆圈标记('ro'),连成线条('-'),绘制x和y的值。我们可以通过多次调用plot()函数来绘制多条线。

2. 常见参数介绍

下面是一些常用的plot()函数的参数及其含义:

- x和y:必选参数,分别表示x轴和y轴的数据序列。

- fmt:可选参数,指定折线的格式字符串。格式字符串中可以包含颜色、线型和标记样式。例如,'ro-'表示红色圆圈标记,并用直线将这些点连接起来。

- color:可选参数,指定折线的颜色。可以使用英文单词或RGB值。例如,color='red'或color=(1, 0, 0)都表示红色。

- linestyle:可选参数,指定折线的线型。常见的线型有'-', '--', '-.', ':'等。例如,linestyle='--'表示虚线。

- linewidth:可选参数,指定折线的线宽。

- marker:可选参数,指定折线的标记样式。常见的标记有'o', '^', 's', '*'等。例如,marker='o'表示用圆圈标记。

- markersize:可选参数,指定标记的大小。

- label:可选参数,指定折线的标签,用于生成图例。

以上参数不一定都要使用,可以根据需求自由搭配。下面我们将通过实例来学习这些参数的应用。

3. 绘制简单的折线图

下面我们先来看一个最简单的绘制折线图的代码,示例代码如下:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [3, 5, 4, 6, 8]

plt.plot(x, y)
plt.show()

结果如图所示:

![image-20211008152001059](https://i.loli.net/2021/10/08/Y7tjaZWzh2iQMl9.png)

在上面的代码中,我们首先导入了matplotlib.pyplot模块,并定义了x、y两个列表,分别表示x轴和y轴上的数据点。然后使用plot()函数绘制折线图,并使用show()函数显示图像。由结果可以看出,matplotlib默认将x轴和y轴的数值范围自动调整到适合数据的范围。

我们还可以使用其他方式设置折线的颜色、线型和标记样式。例如:

plt.plot(x, y, 'ro--')

其中,'ro--'的含义是:折线为红色圆圈标记,虚线连接。

结果如图所示:

![image-20211008152711005](https://i.loli.net/2021/10/08/1TxwNpOdcPQzji8.png)

4. 添加标题、轴标签和图例

为了增强折线图的可读性和表达力,我们可以添加标题、轴标签和图例等元素。下面是一个带有标题和轴标签的折线图示例:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [3, 5, 4, 6, 8]

plt.plot(x, y, 'ro-', label='line1')

plt.title('Title of the plot')
plt.xlabel('x Axis Label')
plt.ylabel('y Axis Label')
plt.legend()
plt.show()

在上面的代码中,我们使用了title()、xlabel()、ylabel()和legend()函数来添加折线图的标题、轴标签和图例。其中,legend()函数用于显示图例,它需要提供label参数,用于指定每条线的标签。

结果如图所示:

![image-20211008154054812](https://i.loli.net/2021/10/08/Mm3U1bVcYXewPql.png)

5. 绘制多条折线图

如果要在同一个图表中绘制多条折线图,可以对plot()函数进行多次调用。例如,下面的代码中绘制了两条折线:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [3, 5, 4, 6, 8]
y2 = [4, 6, 5, 7, 9]

plt.plot(x, y1, 'ro-', label='line1')
plt.plot(x, y2, 'bs--', label='line2')

plt.title('Title of the plot')
plt.xlabel('x Axis Label')
plt.ylabel('y Axis Label')
plt.legend()
plt.show()

结果如图所示:

![image-20211008155041835](https://i.loli.net/2021/10/08/zCuikTAEOLQ61l4.png)

在上面的代码中,我们调用了plot()函数两次来绘制两条折线,分别使用不同的颜色、线型和标记样式。然后我们添加了标题、轴标签和图例,最后显示了图像。

6. 添加注释和箭头

为了更好地解释数据和图像,我们可以添加文本标签、箭头和注释等元素。例如,下面的代码中向折线图添加了一些注释和箭头:

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [3, 5, 4, 6, 8]

plt.plot(x, y, 'ro-', label='line1')

plt.title('Title of the plot')
plt.xlabel('x Axis Label')
plt.ylabel('y Axis Label')
plt.legend()

plt.annotate('Max value', xy=(5, 8), xytext=(4, 6.5),
             arrowprops=dict(facecolor='black', shrink=0.05))

plt.text(1, 3.5, 'First point')

plt.show()

在上面的代码中,我们使用annotate()函数向折线图添加箭头和注释。其中,参数xy表示箭头所在位置的坐标,xytext表示注释文本所在位置的坐标。arrowprops参数用于指定箭头的样式和属性,如facecolor表示箭头的颜色、shrink表示箭头的收缩比例等。

另外,我们还通过调用text()函数向图表中添加了一个文本标签。

结果如图所示:

![image-202110081614