在 Python Matplotlib 中繪製多線圖
Suraj Joshi
2023年1月30日
本教程介紹了我們如何使用 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.pyplot.plot()
函式建立一條線的圖。我們將線的 X
和 Y
座標作為引數傳遞給 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()
輸出:
它繪製了 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()
輸出:
它在圖中繪製 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.axes.Axes.set_prop_cycle()
方法。
作者: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn