Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách đặt cùng màu cho markers và lines trong vòng lặp plot Matplotlib

Trong vòng lặp vẽ nhiều đường, giữ màu đồng bộ cho marker và line bằng cách vẽ hai lần: một lần chỉ marker, một lần chỉ line.

  • Khởi tạo m, n, x bằng numpy.
  • Tạo figure, clf, subplot.
  • Dùng itertools.cycle cho marker styles.
  • Vòng lặp i từ 1 đến n-1: tính x, y = x**2.
  • plt.plot(x, y, linestyle='', markeredgecolor='none', marker=next(marker), alpha=1) chỉ marker.
  • plt.plot(x, y, linestyle='-') chỉ line cùng màu tự động.
  • Hiển thị bằng show().

Ví dụ

import numpy as np
import itertools
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
m = 5
n = 5
x = np.zeros(shape=(m, n))
plt.figure()
plt.clf()
plt.subplot(111)
marker = itertools.cycle(('o', 'v', '^', '<', '>', 's', '8', 'p'))
for i in range(1, n):
    x = np.dot(i, [1, 1.1, 1.2, 1.3])
    y = x ** 2
    plt.plot(x, y, linestyle='', markeredgecolor='none', marker=next(marker), alpha=1)
    plt.plot(x, y, linestyle='-')
plt.show()

Kết quả

Nhiều đường cong parabolic với marker và line cùng màu, các marker khác nhau.