2014-11-15 14 views
8

Scusa per averti occupato oggi con domande molto dettagliate. Eccone un altro: Come mostrerei le etichette delle legende e degli assi sui nuovi diagrammi di dispersione 3D di plotly?Mostra gli assi delle legende e delle etichette nei diagrammi di dispersione tridimensionali 3D

Ad esempio, se ho il seguente grafico a dispersione in 2D che ha prodotto tutto bene, ho aggiunto un'altra dimensione ma le etichette degli assi non vengono più visualizzate (vedere il codice seguente) e lo stesso problema con la legenda. Qualche consiglio? Grazie!

enter image description here

enter image description here

traces = [] 

for name in ('Iris-setosa', 'Iris-versicolor', 'Iris-virginica'): 

    trace = Scatter3d(
     x=Y[y==name,0], 
     y=Y[y==name,1], 
     z=Y[y==name,2], 
     mode='markers', 
     name=name, 
     marker=Marker(
      size=12, 
      line=Line(
       color='rgba(217, 217, 217, 0.14)', 
       width=0.5 
      ), 
      opacity=0.8 
     ) 

    ) 
    traces.append(trace) 


data = Data(traces) 
layout = Layout(xaxis=XAxis(title='PC1'), 
       yaxis=YAxis(title='PC2'), 
       zaxis=ZAxis(title='PC3') 
       ) 
fig = Figure(data=data, layout=layout) 
py.iplot(fig) 

risposta

16

sei vicino! Gli assi 3D sono effettivamente incorporati in un oggetto Scene. Ecco un semplice esempio:

import plotly.plotly as py 
from plotly.graph_objs import * 

trace1 = Scatter3d(
    x=[1, 2], 
    y=[1, 2], 
    z=[1, 2] 
) 
data = Data([trace1]) 
layout = Layout(
    scene=Scene(
     xaxis=XAxis(title='x axis title'), 
     yaxis=YAxis(title='y axis title'), 
     zaxis=ZAxis(title='z axis title') 
    ) 
) 
fig = Figure(data=data, layout=layout) 
plot_url = py.plot(fig, filename='3d-scatter-with-axes-titles') 

enter image description here

+0

Grazie ancora, Chris! E la leggenda potrebbe essere visualizzata anche tramite "showlegend = True" una volta che il 'Scene' è stato configurato correttamente, bello! – Sebastian

Problemi correlati