在 Python Matplotlib 中绘制多线图

Suraj Joshi 2024年2月15日
  1. 在 Python Matplotlib 中绘制单条线
  2. 在 Python Matplotlib 中绘制多条线
在 Python Matplotlib 中绘制多线图

本教程介绍了我们如何使用 Matplotlib 绘制多条线,并为图中的每条线设置不同的颜色。

在 Python Matplotlib 中绘制单条线

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(8)
y = 4 * x - 10

plt.plot(x, y)
plt.title("Plot line in Matplotlib", fontsize=15)
plt.xlabel("X", fontsize=13)
plt.ylabel("Y", fontsize=13)
plt.show()

输出:

绘制单幅图 Matplotlib

它使用 matplotlib.pyplot.plot() 函数创建一条线的图。我们将线的 XY 坐标作为参数传递给 plot() 函数。

在 Python Matplotlib 中绘制多条线

要在 Matplotlib 中绘制多条线,我们不断为每条线调用 matplotlib.pyplot.plot() 函数,并将线的坐标作为参数传递给相应的 plot() 函数。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(8)
y1 = 4 * x + 5
y2 = 3 * x + 5
y3 = 2 * x + 5
y4 = x + 5

plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.plot(x, y4)

plt.title("Plot Mutiple lines in Matplotlib", fontsize=15)
plt.xlabel("X", fontsize=13)
plt.ylabel("Y", fontsize=13)
plt.show()

输出:

在 Matplotlib 中绘制多条线

它绘制了 4 条不同的线,每条线都有共同的轴,每条线都有不同的颜色。我们调用 matplotlib.pyplot.plot() 函数 4 次来绘制这 4 条不同的线。每次我们都将不同线条的坐标作为参数传递给函数。

为了使绘图更具描述性,我们可以在绘图中添加图例,以推断哪条线由哪种颜色代表。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(8)
y1 = 4 * x + 5
y2 = 3 * x + 5
y3 = 2 * x + 5
y4 = x + 5

plt.plot(x, y1, label="4x+5")
plt.plot(x, y2, label="3x+5")
plt.plot(x, y3, label="2x+5")
plt.plot(x, y4, label="x+5")

plt.title("Plot Mutiple lines in Matplotlib", fontsize=15)
plt.xlabel("X", fontsize=13)
plt.ylabel("Y", fontsize=13)
plt.legend()
plt.show()

输出:

在 Matplotlib 中绘制带图例的多条线

它在图中绘制 4 条线和图例。为了给图中添加图例,我们在绘制线条时,通过设置 plot() 函数中的 label 参数,为每条线条设置一个标签。最后,我们调用 matplotlib.pyplot.legend() 来添加图例。

默认情况下,Matplotlib 会自动为线条分配颜色。如果我们想控制每一行的颜色,我们使用 matplotlib.axes.Axes.set_prop_cycle() 方法。

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(8)
y1 = 4 * x + 5
y2 = 3 * x + 5
y3 = 2 * x + 5
y4 = x + 5

colors = ["orange", "purple", "green", "red"]

plt.gca().set_prop_cycle(color=colors)
plt.plot(x, y1, label="4x+5")
plt.plot(x, y2, label="3x+5")
plt.plot(x, y3, label="2x+5")
plt.plot(x, y4, label="x+5")

plt.title("Plot Mutiple lines in Matplotlib", fontsize=15)
plt.xlabel("X", fontsize=13)
plt.ylabel("Y", fontsize=13)
plt.legend()
plt.show()

输出:

在 Matplotlib 中用图例控制多行的颜色

它将第一行设置为橙色,第二行设置为紫色,第三行设置为绿色,第四行设置为红色。我们将按顺序使用的颜色列表作为参数传递给 matplotlib.axes.Axes.set_prop_cycle() 方法。

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

相关文章 - Matplotlib Line