Я использую plot3 для построения матрицы таким образом, чтобы результирующая фигура отображала разные цвета для каждого вектора этой матрицы:
plot3(Grid.x1(:,:),Grid.x2(:,:),phi(:,:))
Как сгладить окраску этого сюжета? Спасибо!
Я использую plot3 для построения матрицы таким образом, чтобы результирующая фигура отображала разные цвета для каждого вектора этой матрицы:
plot3(Grid.x1(:,:),Grid.x2(:,:),phi(:,:))
Как сгладить окраску этого сюжета? Спасибо!
Вы можете использовать varicolor из FileExchange для построения и управления цветовым спектром непрерывного диапазона. Таким образом, переход между разными линиями будет казаться более естественным, а проксимальные линии будут иметь схожие цвета.
Вы можете прочитать больше и увидеть примеры использования здесь http://blogs.mathworks.com/pick/2008/08/15/colors-for-your-multi-line-plots/
Пример:
[X,Y,Z] = peaks(128);
% raw plot3()
figure; plot3(X, Y, Z);
% define set equal to line number
ColorSet = varycolor(128);
% smooth plot3()
figure; hold all;
set(gca, 'ColorOrder', ColorSet);
plot3(X, Y, Z); view(3);
Обновление: для непрерывного трехмерного графика (т. е. поверхности) вы можете использовать surfl
вместо plot3
и отображать данные в виде трехмерного График поверхности (с затенением). На получившуюся поверхность можно дополнительно нанести любой colormap
, т.е. gray
или ColorSet
как указано выше.
surfl(X,Y,Z);
shading interp;
colormap(gray);