Как нарисовать график поверхности без черных краев в MATLAB? - PullRequest
40 голосов
/ 11 января 2009

Черные линии ужасны, как я могу от них избавиться? Я хочу только цветные поверхности.

Ответы [ 4 ]

48 голосов
/ 11 января 2009

Другой вариант - установить свойства edgeColor и / или lineStyle объекта обработки поверхности на none .

>> hSurf = surf(X,Y,Z,'EdgeColor','none','LineStyle','none','FaceLighting','phong');
16 голосов
/ 12 января 2009

Это более общее решение, вы можете изменить edgeColor после создания поверхности. Он не зависит от LineStyle и FaceLighting.

a= peaks(1000);
h = surf(a)
set(h, ‘edgecolor’,'none’)

Обратите внимание, что я снял 45-секундное видео, в котором показано, как это происходит, и как это исправить.

http://blogs.mathworks.com/videos/2008/08/13/matlab-basics-setting-edge-color-for-large-surface-plots/

11 голосов
/ 11 января 2009

Команда затенения - ваш друг:

затенение плоское - дает поверхность без линий сетки

Интерфейс затенения - интерполирует цвета между заплатами, чтобы получить гладкую поверхность

затенение граненым - дает поверхность с черными линиями сетки (аналогично плоской)

3 голосов
/ 06 ноября 2013

Я считаю, что shading interp это то, что вы ищете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...