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

Làm thế nào để đặt cạnh hình chữ nhật Matplotlib nằm ngoài chiều rộng đã chỉ định?

Để đặt cạnh hình chữ nhật Matplotlib nằm ngoài chiều rộng được chỉ định, 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 một hình mới hoặc kích hoạt một hình hiện có.
  • Thêm một cái rìu vào hình như một phần của sắp xếp ô phụ.
  • Khởi tạo một line_width thay đổi để đặt hình chữ nhật bên ngoài chiều rộng được chỉ định. Sử dụng các biến xy, w và h cho tâm, chiều rộng và chiều cao của hình chữ nhật.
  • Nhận một bản sao hình chữ nhật, với các điểm neo xy, chiều cao và chiều rộng của nó.
  • Nhận phiên bản hộp biến đổi bù đắp.
  • Thêm bản vá nghệ sĩ, r (Bước 5).
  • Nhận vùng chứa cho một phiên bản OffsetBox.
  • Thêm hộp chú thích, ab, vào hộp chứa.
  • Để hiển thị hình này, hãy sử dụng show () phương pháp.

Ví dụ

import matplotlib.pyplot as plt
from matplotlib.patches import Rectangle
from matplotlib.offsetbox import AnnotationBbox, AuxTransformBox

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

fig = plt.figure()

ax = fig.add_subplot(111)
ax.plot([1, 6, 8, 6])

line_width = 7
xy, w, h = (1, 3), 2, 2
r = Rectangle(xy, w, h, fc='green', ec='orange', lw=3)

offsetbox = AuxTransformBox(ax.transData)
offsetbox.add_artist(r)

ab = AnnotationBbox(offsetbox, (xy[0] + w /, xy[1] + w /),
   boxcoords="data", pad=0.52, fontsize=line_width,
   bboxprops=dict(facecolor="none", edgecolor='r',
   lw=line_width))
ax.add_artist(ab)

plt.show()

Đầu ra

Làm thế nào để đặt cạnh hình chữ nhật Matplotlib nằm ngoài chiều rộng đã chỉ định? Làm thế nào để đặt cạnh hình chữ nhật Matplotlib nằm ngoài chiều rộng đã chỉ định?