Bạn cần thêm nó vào một trục. A Circle
là một lớp con của an Artist
và axes
có một add_artist
phương thức.
Đây là một ví dụ về việc này:
import matplotlib.pyplot as plt
circle1 = plt.Circle((0, 0), 0.2, color='r')
circle2 = plt.Circle((0.5, 0.5), 0.2, color='blue')
circle3 = plt.Circle((1, 1), 0.2, color='g', clip_on=False)
fig, ax = plt.subplots() # note we must use plt.subplots, not plt.subplot
# (or if you have an existing figure)
# fig = plt.gcf()
# ax = fig.gca()
ax.add_artist(circle1)
ax.add_artist(circle2)
ax.add_artist(circle3)
fig.savefig('plotcircles.png')
Kết quả này trong hình sau:
Vòng tròn đầu tiên là ở điểm gốc, nhưng theo mặc định clip_on
là True
, vì vậy vòng tròn được cắt bớt khi bao giờ nó vượt ra ngoài axes
. Vòng tròn thứ ba (màu xanh lá cây) hiển thị những gì xảy ra khi bạn không cắt Artist
. Nó mở rộng ra ngoài các trục (nhưng không vượt quá con số, tức là kích thước hình không được điều chỉnh tự động để vẽ tất cả các nghệ sĩ của bạn).
Theo mặc định, các đơn vị cho x, y và bán kính tương ứng với các đơn vị dữ liệu. Trong trường hợp này, tôi không vẽ bất cứ thứ gì trên các trục của mình ( fig.gca()
trả về các trục hiện tại) và vì các giới hạn chưa bao giờ được đặt, chúng mặc định là phạm vi x và y từ 0 đến 1.
Đây là phần tiếp theo của ví dụ, cho thấy các đơn vị quan trọng như thế nào:
circle1 = plt.Circle((0, 0), 2, color='r')
# now make a circle with no fill, which is good for hi-lighting key results
circle2 = plt.Circle((5, 5), 0.5, color='b', fill=False)
circle3 = plt.Circle((10, 10), 2, color='g', clip_on=False)
ax = plt.gca()
ax.cla() # clear things for fresh plot
# change default range so that new circles will work
ax.set_xlim((0, 10))
ax.set_ylim((0, 10))
# some data
ax.plot(range(11), 'o', color='black')
# key data point that we are encircling
ax.plot((5), (5), 'o', color='y')
ax.add_artist(circle1)
ax.add_artist(circle2)
ax.add_artist(circle3)
fig.savefig('plotcircles2.png')
kết quả là:
Bạn có thể thấy cách tôi đặt phần lấp đầy của vòng tròn thứ 2 False
, rất hữu ích cho việc bao quanh các kết quả chính (như điểm dữ liệu màu vàng của tôi).