2013-02-19 13 views
5

na wykresie matplotlib 3D można ustawić szereg/kolumny, która określa całkowitą liczbę powierzchni widocznych na powierzchnięciągłe odcieni na matplotlib 3d powierzchni

s=ax.plot_surface(x,y,z, color='gray', shade=True, rstride=1,cstride=1) 

gdzie dolna są takie rstride numery i chotide, tym mniejsze są twarze. Skoro również kreślę struny/trajektorie na tej powierzchni, chciałbym pozbyć się krawędzi twarzy. Teraz, z

s.set_linewidth(0) 

i ustawienie niskie wartości rstride i cstride prawie dostać to, czego chcę, to znaczy prawie ciągłą zmianę koloru na powierzchni, która daje dobry efekt 3D.

Niestety, linie pozostają tam, jako puste miejsca między twarzami. Czy jest jakiś sposób na zrobienie tego? Może brakuje mi tylko prostej komendy ..

EDYCJA: kod, który generuje powierzchnię, jest długi, aby zgłosić to tutaj. Załączam migawkę wyniku z powyższym rozwiązaniem. surface with white lines

+0

można dołączyć obraz tego, co chcesz zobaczyć i pisać niektóre dane przykładowe + minimalny kod, który demonstruje co masz do tej pory? –

Odpowiedz

7

Czy próbowałeś też dodać tam antialiased=False?

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1) 

enter image description here

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, linewidth=0) 

enter image description here

surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, linewidth=0, antialiased=False) 

enter image description here

+0

antialiased = False rozwiązuje problem. Dziękuję Ci! – gg349

Powiązane problemy