Computer >> Máy Tính >  >> Lập trình >> Python

Tô màu phần giao nhau của các vòng tròn / các bản vá trong Matplotlib


Để tô màu cho giao điểm của các vòng tròn / mảng trong Matplotlib, chúng ta có thể thực hiện các bước sau -

  • Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô phụ.
  • Tạo a b điểm.
  • Lấy khu vực bên trái, bên phải và giữa từ hai điểm, a b.
  • Lấy các trục hiện tại bằng cách sử dụng gca () phương pháp
  • Thêm các bản vá với các màu và phần khác nhau.
  • Đặt tỷ lệ trục X và Y.
  • Đặt tỷ lệ khung hình bằng nhau.
  • Tắt các trục.
  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

import shapely.geometry as sg
import matplotlib.pyplot as plt
import descartes

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

a = sg.Point(-.5, 0).buffer(1.)
b = sg.Point(0.5, 0).buffer(1.)

left = a.difference(b)
right = b.difference(a)
middle = a.intersection(b)

ax = plt.gca()
ax.add_patch(descartes.PolygonPatch(left, fc='b', ec='k'))
ax.add_patch(descartes.PolygonPatch(right, fc='r', ec='k'))
ax.add_patch(descartes.PolygonPatch(middle, fc='g', ec='k'))

ax.set_xlim(-2, 2)

ax.set_ylim(-2, 2)

ax.set_aspect('equal')

ax.axis('off')

plt.show()

Đầu ra

Tô màu phần giao nhau của các vòng tròn / các bản vá trong Matplotlib