Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -
Справка Scilab >> Графики > 2d_plot > contourf

contourf

кривые уровней поверхности, залитые цветом на двумерном графике

Синтаксис

contourf(x, y, z, nz, [style, strf, leg, rect, nax])

Аргументы

x, y

два вещественных вектор-столбца размрерами n1 и n2: сетка.

z

вещественная матрица размерами (n1,n2), значения функции.

nz

значения уровней либо количество уровней.

-

Если nz - целое число, то его значение указывает количество кривых уровней, равномерно распределённых от zmin до zmax как показано ниже:

z= zmin + (1:nz)*(zmax-zmin)/(nz+1)

Заметьте, что уровни zmin и zmax не рисуются (вообще, они сводятся в точку), но их можно добавить следующим образом:

[im,jm] = find(z == zmin);     // or zmax
plot2d(x(im)',y(jm)',-9,"000")
-

Если nz - вектор, то nz(i) указывает значение i-той кривой уровня.

style, strf, leg, rect, nax

см. plot2d. Аргумент style указывает цвета, которые требуется использовать для кривых уровней. Он должен быть того же самого размера, что и количество уровней.

Описание

Функция contourf раскрашивает поверхность между двумя следующими друг за другом кривых уровней поверхности z=f(x,y) на двумерном графике. Значения f(x,y) указываются с помощью матрицы z в точках сетки, определённых через x и y.

Вы можете изменить формат чисел с плавающей запятой, печатаемых на уровнях, с помощью xset("fpf",string), где string указывает форма в формате C-синтаксиса (например, string="%.3f"). Используйте string="" для переключения обратно в формат по умолчанию.

Введите команду contourf(), чтобы посмотреть демонстрацию.

Примеры

contourf(1:10,1:10,rand(10,10),5,1:5,"011"," ",[0,0,11,11])
function z=peaks(x, y)
x1=x(:).*.ones(1,size(y,'*'));
y1=y(:)'.*.ones(size(x,'*'),1);
z =  (3*(1-x1).^2).*exp(-(x1.^2) - (y1+1).^2) ...
   - 10*(x1/5 - x1.^3 - y1.^5).*exp(-x1.^2-y1.^2) ...
   - 1/3*exp(-(x1+1).^2 - y1.^2)
endfunction

function z=peakit()
x=-4:0.1:4;y=x;z=peaks(x,y);
endfunction

z=peakit();

levels=[-6:-1,-logspace(-5,0,10),logspace(-5,0,10),1:8];
m=size(levels,'*');
n = fix(3/8*m);
r = [(1:n)'/n; ones(m-n,1)];
g = [zeros(n,1); (1:n)'/n; ones(m-2*n,1)];
b = [zeros(2*n,1); (1:m-2*n)'/(m-2*n)];
h = [r g b];
gcf().color_map = h;

xset('fpf',' ');
clf();
contourf([],[],z,[-6:-1,-logspace(-5,0,10),logspace(-5,0,10),1:8],0*ones(1,m))

xset('fpf','');
clf();
contourf([],[],z,[-6:-1,-logspace(-5,0,10),logspace(-5,0,10),1:8]);

Смотрите также

  • contour — level curves on a 3D surface
  • contour2d — кривые уровней поверхности на двумерном графике
  • contour2di — вычисляет кривые уровней поверхности на двумерном графике
  • plot2d — 2D plot
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 14 15:13:25 CET 2017