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

34

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

Теги:
graph
plot

4 ответа

42
Лучший ответ

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

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

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

  • 0
    Этот метод также работает для серфинга (..).
10

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

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

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

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

  • 0
    Я выполнил штриховку перед командой прибоя, но не увидел никакой разницы. Это почему?
  • 1
    Вам нужно выполнить его после команды прибоя, может быть есть способ установить затенение по умолчанию для новой фигуры, но я не знаю, что это такое.
3

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню