在 Python Matplotlib 中繪製多線圖

Suraj Joshi 2023年1月30日
  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