Definir o eixo radial em charts polares Matplotlib

Estou traçando uma curva de elevação de azimute em um gráfico polar onde a elevação é o componente radial. Por padrão, o Matplotlib plota o valor radial de 0 no centro para 90 no perímetro. Eu quero inverter que tão 90 graus está no centro. Eu tentei definir os limites com uma chamada para ax.set_ylim (90,0), mas isso resulta em uma exceção LinAlgError sendo lançada. ax é o object de eixos obtido de uma chamada para add_axes.

Isso pode ser feito e, em caso afirmativo, o que devo fazer?

Edit: Aqui está o que eu estou usando agora. O código básico de plotagem foi tirado de um dos exemplos do Matplotlib

# radar green, solid grid lines rc('grid', color='#316931', linewidth=1, linestyle='-') rc('xtick', labelsize=10) rc('ytick', labelsize=10) # force square figure and square axes looks better for polar, IMO width, height = matplotlib.rcParams['figure.figsize'] size = min(width, height) # make a square figure fig = figure(figsize=(size, size)) ax = fig.add_axes([0.1, 0.1, 0.8, 0.8], projection='polar', axisbg='#d5de9c') # Adjust radius so it goes 90 at the center to 0 at the perimeter (doesn't work) #ax.set_ylim(90, 0) # Rotate plot so 0 degrees is due north, 180 is due south ax.set_theta_zero_location("N") obs.date = datetime.datetime.utcnow() az,el = azel_calc(obs, ephem.Sun()) ax.plot(az, el, color='#ee8d18', lw=3) obs.date = datetime.datetime.utcnow() az,el = azel_calc(obs, ephem.Moon()) ax.plot(az, el, color='#bf7033', lw=3) ax.set_rmax(90.) grid(True) ax.set_title("Solar Az-El Plot", fontsize=10) show() 

O enredo que resulta disso é

insira a descrição da imagem aqui

Consegui colocar o eixo radial invertido. Eu tive que remapear o raio, para combinar com o novo eixo:

 fig = figure() ax = fig.add_subplot(1, 1, 1, polar=True) def mapr(r): """Remap the radial axis.""" return 90 - r r = np.arange(0, 90, 0.01) theta = 2 * np.pi * r / 90 ax.plot(theta, mapr(r)) ax.set_yticks(range(0, 90, 10)) # Define the yticks ax.set_yticklabels(map(str, range(90, 0, -10))) # Change the labels 

Note que é apenas um hack, o eixo ainda está com o 0 no centro e 90 no perímetro. Você terá que usar a function de mapeamento para todas as variables ​​que você está plotando.