Как нарисовать график поверхности без черных краев в MATLAB?

StackOverflow https://stackoverflow.com/questions/433312

  •  10-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

>> hSurf = surf(X,Y,Z,'EdgeColor','none','LineStyle','none','FaceLighting','phong');

Другие советы

Это более общее решение, вы можете изменить 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/

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

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

shading interp - интерполирует цвета между патчами, чтобы получить гладкую поверхность

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top