Как мне создать фигуру из этих двух отдельных полярных участков? - PullRequest
0 голосов
/ 19 апреля 2019

Я пытаюсь создать два отдельных графика в виде вспомогательных участков на одной фигуре. Оба участка полярные. Мои попытки заставляют их рисовать на одном графике.

def GenerateTrigonometryTable(x): #Define Function
    A = np.arange (0,360,x) 
    B = np.sin(A*np.pi/180)  
    C = np.cos(A*np.pi/180)
    table = np.dstack(([A],[B],[C])) 
    return table 
Theta = (GenerateTrigonometryTable(5)[:,:,0]) 
STheta = (GenerateTrigonometryTable(5)[:,:,1])
CTheta = (GenerateTrigonometryTable(5)[:,:,2])

ax1 = plt.subplot(111, projection='polar')
ax1.plot(Theta.flatten(), STheta.flatten())
ax2 = plt.subplot(111, projection='polar')
ax2.plot(Theta.flatten(), CTheta.flatten())

fig.show()

Это нанесено на один и тот же график, и мне нужно, чтобы оно было изображением двух отдельных графиков.

Ответы [ 2 ]

0 голосов
/ 19 апреля 2019

Более объектно-ориентированный подход:

fig = plt.figure()
ax1 = fig.add_subplot(121, projection='polar')
ax2 = fig.add_subplot(122, projection='polar')
ax1.plot(Theta.flatten(), STheta.flatten())
ax2.plot(Theta.flatten(), CTheta.flatten())

fig.show()

Эквивалентен ответу Шелдора, но показывает, как фигуры, оси и графики сформулированы в matplotlib.

0 голосов
/ 19 апреля 2019

Вам необходимо следующее: 121 означает первый график на сетке 1x2 субплотов, а 122 означает второй график на этой сетке 1x2 субплотов.

ax1 = plt.subplot(121, projection='polar')
ax1.plot(Theta.flatten(), STheta.flatten())
ax2 = plt.subplot(122, projection='polar')
ax2.plot(Theta.flatten(), CTheta.flatten())

fig.show()

enter image description here

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