matplotlib中的plot()函数绘制折线图
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()
结果如图所示:

在上面的代码中,我们首先导入了matplotlib.pyplot模块,并定义了x、y两个列表,分别表示x轴和y轴上的数据点。然后使用plot()函数绘制折线图,并使用show()函数显示图像。由结果可以看出,matplotlib默认将x轴和y轴的数值范围自动调整到适合数据的范围。
我们还可以使用其他方式设置折线的颜色、线型和标记样式。例如:
plt.plot(x, y, 'ro--')
其中,'ro--'的含义是:折线为红色圆圈标记,虚线连接。
结果如图所示:

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参数,用于指定每条线的标签。
结果如图所示:

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()
结果如图所示:

在上面的代码中,我们调用了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()函数向图表中添加了一个文本标签。
结果如图所示:
