2016-01-11 17 views
12

Problem: Podczas próby wyeksportowania wieloboku renderowanego za pomocą polecenia patch w programie MATLAB z fig2plotly w ostatecznym wydruku brakuje określonych kolorów powierzchni.Renderowanie poprawek MATLAB z Plotly fig2plotly()

Być może demonstracja może pomóc. Podjąć następujące wierzchołki i twarze zdefiniować Cube (podnoszony z dokumentacji 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]; 

i uczynić go z polecenia patch, dodając informacje kolorów na twarzy:

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

i widok to w 3D:

view(3) 
axis vis3d 

Daje to ładną kostkę z interpolowanymi wartościami kolorów na powierzchni.

nice cube

Teraz, gdy staramy się je wyeksportować do Plotly z poleceniem fig2plotly:

fig2plotly(gcf) 

zwraca pusty sześcian (plotly link):

empty cube

W inne słowa, informacja o linii została przechwycona, ale nie twarze. Nawet jeśli staramy się zachować stylistykę MATLAB, my wciąż luźne informacje czołowa:

fig2plotly(gcf, 'strip', false) 

sugestie?

+4

Witamy w Stack Overflow i dziękuję za wyjątkowo zadawnione pytanie :) Chcę tylko zauważyć, że zawsze jestem zaskoczony bezużytecznością tak zwanej pełnej dokumentacji sprytnie. Bardzo błyszczący, zupełnie bezużyteczny. (Może problem dotyczy mnie.) Z niewielkiej ilości informacji, które mogłem znaleźć, 'fig2plotly' powinien wykonywać swoją pracę głównie samodzielnie. Może więc powinieneś złożyć zgłoszenie błędu, jeśli nie otrzymasz odpowiedzi od kogoś tutaj. –

+0

@AndrasDeak dzięki! Od pewnego czasu czytam StackOverflow, więc staram się trzymać standardów społeczności. Rzeczywiście, nie widzę żadnej dokumentacji dla powierzchni/łatek MATLAB-owych w sprytny sposób, więc być może będę musiał zająć się bezpośrednio z nimi. W międzyczasie, jeśli ktoś zna odpowiedź, bardzo chciałbym to usłyszeć! – IvanA

Odpowiedz

1

Dodano ulepszoną obsługę poprawek do wersji wer. 2.2.9 opakowania (https://github.com/plotly/MATLAB-Online).

Możesz zmienić tę ulepszoną obsługę łatek, ustawiając domyślną wartość TriangulatePatch na wartość w pliku plotlyfig.m. (https://github.com/plotly/MATLAB-Online/blob/master/plotly/plotlyfig.m#L61)

Gradienty kolorów nie są jeszcze obsługiwane, ale same poprawki powinny się teraz renderować. Modyfikacje kolorów można wprowadzać ręcznie modyfikując atrybuty obiektu plotlyfig lub korzystając z interfejsu WWW.

Powiązane problemy