Để vẽ đường đa màu (multicolored line) dựa trên điều kiện trong Python Matplotlib:
- Thiết lập kích thước figure và padding
- Tạo dữ liệu
ybằng numpy - Tạo
lvàuđể phân tách màu - Vẽ
uvàlbằngplot()với màu khác nhau - Hiển thị bằng
show()
Ví dụ mã nguồn
import matplotlib.pyplot as plt import numpy as np plt.rcParams["figure.figsize"] = [7.50, 3.50] plt.rcParams["figure.autolayout"] = True y = np.sin(np.linspace(-10, 10, 100)) u = y.copy() l = y.copy() u[u <= 0] = np.nan l[l >= 0] = np.nan plt.plot(u, color='red') plt.plot(l, color='blue') plt.show()
Kết quả
Đồ thị sin(x): phần dương (>0) màu đỏ, phần âm (<0) màu xanh, phần bằng 0 bị ngắt (NaN).

Kỹ thuật: Dùng NaN để ngắt đường.plot(). Các điểm NaN không được vẽ, tạo ra đoạn đứt. Cách khác: LineCollection với colormap cho gradient mượt.