在 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