在 Python Matplotlib 中绘制多线图

Suraj Joshi 2023年1月30日 2020年12月31日
  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() 方法。

Author: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

相关文章 - Matplotlib Line