Как добавить декартовы оси к полярному графику в matplotlib? - PullRequest
0 голосов
/ 05 июля 2019

У меня есть полярный контур, и я хочу добавить к нему декартовы оси. Как я могу это сделать? Кажется, нет документации для этого.

import numpy as np
import matplotlib.pyplot as plt

def f(x, y):
    return np.sin(x) ** 10 + np.cos(10 + y * x) * np.cos(x)

x = np.linspace(0, 8, 50)
y = np.linspace(0, 8, 40)

X, Y = np.meshgrid(x, y)
Z = f(X, Y)

fig, ax = plt.subplots(subplot_kw = dict(projection = 'polar'))
plt.axis('off')
ax.contourf(X, Y, Z)

1 Ответ

0 голосов
/ 05 июля 2019

Чтобы добавить декартовы оси к полярному графику, все, что вам нужно сделать, это добавить вторую пару осей в той же позиции, например:

import numpy as np
import matplotlib.pyplot as plt

def f(x, y):
    return np.sin(x) ** 10 + np.cos(10 + y * x) * np.cos(x)

x = np.linspace(0, 8, 50)
y = np.linspace(0, 8, 40)

X, Y = np.meshgrid(x, y)
Z = f(X, Y)

fig, ax = plt.subplots(subplot_kw = dict(projection = 'polar'))
plt.axis('off')
ax.contourf(X, Y, Z)

new_axis = fig.add_axes(ax.get_position(), frameon = False)
new_axis.plot()
plt.show()
...