[wxpython] Modificare la grafica degli assi

mic_1
Ciao a tutti! Come sistemare l'asse x ?
L'ho suddivisa in 0, 10, 100, 700 ma vorrei che queste suddivisioni siano equidistanti tra loro. come fare?

Grazie!
Il codice della Image è:
        self.fig, self.ax = plt.subplots() 
        self.fig.set_size_inches(12, 7)
        self.ax.scatter(xCL, yCL, alpha=0.6) 
        self.ax.plot(xdata, powerlaw(xdata, amp, index), "r-")
        self.ax.set(xlabel='Number of Neighbors', ylabel='Closeness Centrality')
        self.ax.yaxis.grid(linestyle='--')
        self.xticks = [1, 10, 100, roundup(max(xCL), n=2)]  
        self.yticks = list(frange(0.00, np.around(float(max(yCL)), 3)+0.05, 0.05)) 
        self.yticks_ = np.around(self.yticks, 4)
        self.ax.set_xticks(self.xticks)
        self.ax.set_yticks(self.yticks_)
        self.ax.set_xticklabels(self.xticks, fontsize=8) 
        self.ax.set_yticklabels(self.yticks_, fontsize=8)     



Risposte
mic_1
Vorrei modificare l'asse x ottenendo questo risultato:




Ringrazio chiunque mi possa rispondere.
Buona Pasqua a tutti!!!!

PS: scusatemi, l'intervallo corretto è [1, 10, 100, 400] ; 400 non è altro che il valore max(x) arrotondato al prossimo numero intero, quindi varia a seconda del grafico.

mic_1
Vorrei espandere l'immagine lungo l'asse x, rendendo equidistanti le punte e etichette [1, 10, 100, 400]

claudio862
Intendi impostare la scala logaritmica per l'asse x?
Puoi provare con [inline]self.ax.set_xscale('log')[/inline].
Comunque il tag "wxpython" è sbagliato, piuttosto dovresti usare "matplotlib".

mic_1
Grazie! Ora torna tutto! avevo 14 images da correggere ;D

Ho provveduto alla correzione del titolo ma credo sia visibile solo nel commento.
Lascio che l'amministratore provveda a correggere il titolo ufficiale del post.

Posso contattarti privatamente per chiederti un'altra info python? Grz

claudio862
Credo che per modificare il titolo tu debba modificare il primo post.

Puoi aprire un altro thread qui se hai altre domande su Python.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.