Подтвердить что ты не робот

Половина или четверть полярных участков в Matplotlib?

Я пытаюсь сделать полярный сюжет, который на 180 градусов вместо 360 в Matplotlib похож на http://www.mathworks.com/matlabcentral/fileexchange/27230-half-polar-coordinates-figure-plot-function-halfpolar в MATLAB. Любые идеи?

4b9b3361

Ответ 1

Пример кода в официальной документации matplotlib может немного затушевать вещи, если кому-то просто нужна простая четверть половины сюжета. Я написал фрагмент кода, который может помочь кому-то, кто не знаком с AxisArtists здесь.

The output image of this code snippet

Ответ 2

В matplotlib 2.1 или выше работает. Существует также пример на странице matplotlib.
Вы можете использовать обычный полярный график, ax = fig.add_subplot(111, polar=True) и ограничивать диапазон theta. Для полуполяного графика

ax.set_thetamin(0)
ax.set_thetamax(180)

или для квадратного полярного графика

ax.set_thetamin(0)
ax.set_thetamax(90)

Полный пример:

import matplotlib.pyplot as plt
import numpy as np

theta = np.linspace(0,np.pi)
r = np.sin(theta)

fig = plt.figure()
ax = fig.add_subplot(111, polar=True)
c = ax.scatter(theta, r, c=r, s=10, cmap='hsv', alpha=0.75)

ax.set_thetamin(0)
ax.set_thetamax(180)

plt.show()

введите описание изображения здесь