Расширение принятого ответа для общего использования. В частности:
Самодостаточный пример:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.add_patch(plt.Circle((0, 0), 0.2, color='r', alpha=0.5))
ax.add_patch(plt.Circle((1, 1), 0.5, color='#00ffff', alpha=0.5))
ax.add_artist(plt.Circle((1, 0), 0.5, color='#000033', alpha=0.5))
#Use adjustable='box-forced' to make the plot area square-shaped as well.
ax.set_aspect('equal', adjustable='datalim')
ax.plot() #Causes an autoscale update.
plt.show()
Обратите внимание на разницу между ax.add_patch(..)
и ax.add_artist(..)
: из двух, только первая делает автомасштабирующее оборудование учитывающим круг (ссылка: обсуждение ), поэтому после запуска вышеуказанного кода мы получаем:
См. также: set_aspect(..)
документация .