2015-06-24 26 views
5

Sto usando plotly per Python e non riesco a impostare x e y asse in modo da poter avere la stessa scala:Plotly, stessa scala per X e l'asse y

Ecco il mio layout:

layout = Layout(
    xaxis=XAxis(
     range=[-150, 150], 
     showgrid=True, 
     zeroline=True, 
     showline=True, 
     gridcolor='#bdbdbd', 
     gridwidth=2, 
     zerolinecolor='#969696', 
     zerolinewidth=4, 
     linecolor='#636363', 
     linewidth=6 
    ), 
    yaxis=YAxis(
     range=[-150,150], 
     showgrid=True, 
     zeroline=True, 
     showline=True, 
     gridcolor='#bdbdbd', 
     gridwidth=2, 
     zerolinecolor='#969696', 
     zerolinewidth=4, 
     linecolor='#636363', 
     linewidth=6 
    ) 
) 

E poi ho qualcosa di simile!

enter image description here

Perché la scala è diversa per xey? ciò influenzerà la mia visualizzazione.

Come posso ottenere una griglia con celle quadrate?

risposta

5

È possibile assegnare la stessa lunghezza per altezza e larghezza nel proprio layout. Ecco un esempio:

layout = Layout(
    xaxis=XAxis(
     range=[-150, 150], 
     showgrid=True, 
     zeroline=True, 
     showline=True, 
     gridcolor='#bdbdbd', 
     gridwidth=2, 
     zerolinecolor='#969696', 
     zerolinewidth=4, 
     linecolor='#636363', 
     linewidth=6 
    ), 
    yaxis=YAxis(
     range=[-150,150], 
     showgrid=True, 
     zeroline=True, 
     showline=True, 
     gridcolor='#bdbdbd', 
     gridwidth=2, 
     zerolinecolor='#969696', 
     zerolinewidth=4, 
     linecolor='#636363', 
     linewidth=6 
    ), 
    height=600, 
    width=600, 
) 
+0

Grazie neda. :) – farhawa

+0

merita un voto! – farhawa

+0

@farhawa Sei il benvenuto! – neda

2

@ risposta di Neda funziona solo per intervalli uguali su entrambi x e y - che è raramente il caso. Questo sembra essere qualcosa che molte persone chiedono, qualcosa come l'asse di matplotlib ('uguale'). Vedi https://github.com/plotly/plotly.py/issues/70

Per ora, utilizzo un moltiplicatore per entrambe le gamme separatamente, definendo essenzialmente per quanto tempo ciascuna lunghezza dell'unità è su ciascun asse.

height=(yMax - yMin) * mul 
width= (xMax - xMin) * mul 

Anche in questo modo, la griglia non è un quadrato perfetto% 100 ..

Problemi correlati