Как построить круги в Matplotlib (с примерами)


Вы можете быстро добавить круги на график в Matplotlib с помощью функции Circle() , которая использует следующий синтаксис:

matplotlib.patches.Circle (ху, радиус = 5)

куда:

  • xy: координаты (x, y) окружности.
  • радиус: Радиус круга. По умолчанию 5.

В этом руководстве показано несколько примеров использования этой функции на практике:

Пример 1: создание одного круга

В следующем коде показано, как создать один круг на графике Matplotlib, расположенном в координатах (x, y) (10,10):

import matplotlib.pyplot as plt

#set axis limits of plot (x=0 to 20, y=0 to 20)
plt.axis([0, 20, 0, 20])

#create circle with (x, y) coordinates at (10, 10)
c=plt.Circle ((10, 10))

#add circle to plot (gca means "get current axis")
plt.gca ().add_artist (c)

По умолчанию одна ось графика Matplotlib обычно отображает больше пикселей на единицу данных. Чтобы круг выглядел как круг, а не как эллипс, вам нужно использовать аргумент plt.axis("equal") следующим образом:

import matplotlib.pyplot as plt

#set axis limits of plot (x=0 to 20, y=0 to 20)
plt.axis([0, 20, 0, 20])
plt.axis (" equal ")

#create circle with (x, y) coordinates at (10, 10)
c=plt.Circle ((10, 10))

#add circle to plot (gca means "get current axis")
plt.gca ().add_artist (c) 

Пример 2. Создание нескольких кругов

Следующий код показывает, как создать несколько кругов на графике Matplotlib:

import matplotlib.pyplot as plt

#set axis limits of plot (x=0 to 20, y=0 to 20)
plt.axis([0, 20, 0, 20])
plt.axis (" equal ")

#define circles
c1=plt.Circle ((5, 5), radius= 1 )
c2=plt.Circle ((10, 10), radius= 2 )
c3=plt.Circle ((15, 13), radius= 3 )

#add circles to plot
plt.gca ().add_artist (c1)
plt.gca ().add_artist (c2)
plt.gca ().add_artist (c3)

Пример 3: изменение внешнего вида круга

Вы можете использовать следующие аргументы, чтобы изменить внешний вид круга в Matplotlib:

  • радиус: укажите радиус круга
  • цвет: укажите цвет круга
  • альфа: указать прозрачность круга

В следующем коде показан пример одновременного использования нескольких таких аргументов:

import matplotlib.pyplot as plt

#set axis limits of plot (x=0 to 20, y=0 to 20)
plt.axis([0, 20, 0, 20])
plt.axis (" equal ")

#create circle with (x, y) coordinates at (10, 10)
c=plt.Circle ((10, 10), radius= 2 , color='red', alpha= .3 )

#add circle to plot (gca means "get current axis")
plt.gca ().add_artist (c) 

Обратите внимание, что вы также можете использовать пользовательские шестнадцатеричные коды цветов, чтобы указать цвет кругов.