2016-01-11 20 views
12

Problema: quando si tenta di esportare un poligono sottoposto a rendering con il comando patch in MATLAB con fig2plotly, all'output finale mancano i colori del viso specificati.Rendering facce di patch MATLAB con Plotly fig2plotly()

Forse una dimostrazione potrebbe aiutare. Prendere le seguenti vertici e facce per definire un cubo (sollevato dalla documentazione MATLAB):

vert = [0 0 0;1 0 0;1 1 0;0 1 0;0 0 1;1 0 1;1 1 1;0 1 1]; 
fac = [1 2 6 5;2 3 7 6;3 4 8 7;4 1 5 8;1 2 3 4;5 6 7 8]; 

E renderlo con il comando patch, l'aggiunta di un po 'di informazioni sul colore alle facce:

patch('Vertices',vert,'Faces', fac, 'FaceVertexCData',hsv(8),'FaceColor','interp') 

E vista in 3D:

view(3) 
axis vis3d 

Questo dà un bel cubo con valori di colore interpolati sulla superficie.

nice cube

Ora, se cerchiamo di esportarlo in Plotly con il comando fig2plotly:

fig2plotly(gcf) 

restituisce un cubo vuoto (plotly link):

empty cube

In altre parole, le informazioni sulla linea sono state acquisite, ma non le facce. Anche se cerchiamo di preservare lo stile di MATLAB, abbiamo ancora perdere la faccia informazioni:

fig2plotly(gcf, 'strip', false) 

Qualche suggerimento?

+4

Benvenuti in Stack Overflow, e grazie per la domanda eccezionalmente ben difesa :) Voglio solo sottolineare che sono sempre stupito dall'inutilità della cosiddetta documentazione completa di trama. Molto brillante, assolutamente inutile. (Forse il problema è con me.) Dalle poche informazioni che ho potuto trovare, 'fig2plotly' dovrebbe fare il suo lavoro per lo più da solo. Quindi forse dovresti presentare una segnalazione di bug se non ottieni una risposta da qualcun altro qui. –

+0

@AndrasDeak ringraziamenti! Ho letto StackOverflow per un po ', quindi ho cercato di attenermi agli standard della community. In effetti, non riesco a vedere alcuna documentazione per le superfici/patch MATLAB nella trama, quindi potrei dover prendere direttamente con loro. Nel frattempo, se qualcuno conosce la risposta mi piacerebbe sentirla! – IvanA

risposta

1

È stato aggiunto il supporto migliorato per le patch a ver. 2.2.9 dell'involucro (https://github.com/plotly/MATLAB-Online).

È possibile attivare questa gestione di patch migliorata impostando il valore predefinito di TriangulatePatch su true nel file plotlyfig.m. (https://github.com/plotly/MATLAB-Online/blob/master/plotly/plotlyfig.m#L61)

I gradienti di colore non sono ancora supportati, ma ora le patch devono essere visualizzate. Le modifiche al colore possono essere apportate modificando manualmente gli attributi dell'oggetto plotlyfig o utilizzando l'interfaccia web.