2017-08-07 4 views
0

Ich habe mit dem radar chart Konzept zur Visualisierung prozentbasierter Metriken gespielt. Ich habe Beispielcode gefolgt, habe aber Probleme mit ein paar Punkten. Kann jemand mir helfen, die Bezeichnungen von den Standardgradwerten zu etwas anderem zu ändern? Ich möchte auch das Minimum der x-Achse auf 0.9 setzen, aber ich habe ein bisschen gekämpft.Bearbeiten von Radar-Charts für Beschriftungs- und Achsenlimits

Jede Hilfe oder Ressourcen sind hilfreich. Wenn es einen effizienteren Weg gibt, sie zu lösen, bin ich offen dafür, von vorn zu beginnen.

import numpy as np 
import matplotlib.pyplot as plt 

availability_array = np.array([.95, .9, .99, .97, 1]) #sample inverter uptime availability numbers using site with 5 inverters 

# Compute pie slices 
theta = np.linspace(0.0, 2 * np.pi, len(availability_array), endpoint=False) 
values = availability_array #values that are graphed 
width = 1 #increase/decrease width of each bar 

ax = plt.subplot(111, projection='polar') #.set_xticklabels(['N', '', 'W', '', 'S', '', 'E', '']) #111 means 1x1 grid subplot starting in cell 1 

bars = ax.bar(theta, values, width=width, bottom=0.0) 

# Coloring 
for r, bar in zip(values, bars): 
    bar.set_facecolor(plt.cm.viridis(r/1)) 
    bar.set_alpha(0.4) #transparency of the bars 

plt.show() 

Antwort

2

Wie Sie bereits in Ihren Kommentaren gezeigt haben, Etiketten um den Kreis sind xticklabels und Etiketten entlang des Radius sind yticklabels, das heißt y-Achse entlang des Radius. Daher denke ich, dass Sie "die y-Achse Minimum auf 0,9" festlegen wollten.

Wie bei normalen Plots können Sie set_xticks zusammen mit set_xticklabels verwenden, um "die Beschriftungen von den Standardgradwerten auf etwas anderes zu ändern". Zum Beispiel:

ax.set_xticks([np.pi/4, np.pi*3/4]) 
ax.set_xticklabels(['NE', 'NW']) 

dann auf "die y-Achse Minimum bis 0,9", Sie set_ylim wie diese verwenden:

ax.set_ylim(0.9, 1) 
Verwandte Themen