Как заполнить между 3 линиями полярного графика? - PullRequest
1 голос
/ 18 июня 2020

Я рисую круг и две прямые линии на полярном графике, и я хотел бы заполнить их между ними (четверть круга). Но не знаю как.

enter image description here

import numpy as np
from matplotlib import pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111, polar = True)

theta1 = np.linspace(0, 2*np.pi, 100)
r1 = theta*0 + 1
ax.plot(theta1, r1, color='b')

theta2 = np.array([np.pi/2]*100)
r2 = np.linspace(0, 1, 100)
ax.plot(theta2, r2, color='b')

theta3 = np.array([0]*100)
r3 = np.linspace(0, 1, 100)
ax.plot(theta3, r3, color='b')
plt.show()

1 Ответ

1 голос
/ 18 июня 2020

Вам нужно немного изменить свой код, чтобы включить область, которую вы хотите построить, n используйте метод fill_between. В конкретном случае c первого квадранта мы должны заполнить от 0-90 градусов до 0-1 радиуса. Код:

import numpy as np
import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111, polar=True)

theta1 = np.linspace(0, 2 * np.pi, 100)
r1 = theta1 * 0 + 1
ax.plot(theta1, r1, color='b')

theta2 = np.array([np.pi / 2] * 100)
r2 = np.linspace(0, 1, 100)
ax.plot(theta2, r2, color='b')

theta3 = np.array([0] * 100)
r3 = np.linspace(0, 1, 100)
ax.plot(theta3, r3, color='b')

theta4 = np.linspace(0, np.pi / 2, 100)
ax.fill_between(theta4, 0, 1)

plt.show()

Будет строить: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...