Когда вы создаете графику то использование Patch
объекты, можно управлять полной цветовой схемой путем вызова colormap
функция. Можно также управлять отношением между палитрой и закрашенной фигурой:
Присвоение определенных цветов к поверхностям
Присвоение определенных цветов к вершинам, окружающим каждую поверхность
Путем вы управляете этими отношениями, зависит от того, как вы задаете свои закрашенные фигуры: как x-, y-, и z-координаты, или как данные Face-Vertex.
Если вы создаете Patch
объект с помощью x - y - и z - координирует массивы, CData
свойство Patch
объект содержит массив индексации C
. Этот массив управляет отношением между палитрой и вашей закрашенной фигурой. Чтобы присвоить цвета поверхностям, задайте C
как массив с этими характеристиками:
C
n-1 массив, где n является количеством поверхностей.
Значение в C(i)
управляет цветом для поверхности i
.
Вот пример C
и его отношение к палитре и трем поверхностям. Значение C(i)
управляет цветом для поверхности, заданной вершинами (X(i,:)
, Y(i,:)
).
Наименьшее значение в C
0
. Это сопоставляет с первой строкой в палитре. Самое большое значение в C
1
, и это сопоставляет с последней строкой в палитре. Промежуточные значения C
отобразитесь линейно в промежуточных строках в палитре. В этом случае, C(2)
карты к цвету расположенная приблизительно две трети с начала палитры. Этот код создает Patch
объект описан на предыдущем рисунке.
X = [0 0 5; 0 0 5; 4 4 9]; Y = [0 4 0; 3 7 3; 0 4 0]; C = [0; .6667; 1]; p = patch(X,Y,C); colorbar
Чтобы присвоить цвета вершинам, задайте C
как массив с этими характеристиками:
C
массив m на n, где m является количеством вершин на поверхность, и n является количеством поверхностей.
Значение в C(i,j)
управляет цветом в вершине i
из поверхности j
.
Вот пример C
и его отношение к палитре и шести вершинам. Значение C(i,j)
управляет цветом для вершины в (X(i,j)
, Y(i,j)
).
Как с поверхностями закрашенной фигуры, MATLAB® масштабирует значения в C
к количеству строк в палитре. В этом случае наименьшим значением является C(2,2)=1
, и это сопоставляет с первой строкой в палитре. Самым большим значением является C(3,1)=6
, и это сопоставляет с последней строкой в палитре.
Этот код создает Patch
объект описан на предыдущем рисунке. FaceColor
свойство установлено в 'interp'
сделать вершину окрашивает смешение через каждую поверхность.
clf X = [0 3; 0 3; 5 6]; Y = [0 3; 5 6; 0 3]; C = [5 4; 2 0; 6 3]; p = patch(X,Y,C,'FaceColor','interp'); colorbar
Если вы создаете закрашенные фигуры с помощью данных Face-Vertex, FaceVertexCData
свойство Patch
объект содержит массив индексации C
. Этот массив управляет отношением между палитрой и вашей закрашенной фигурой.
Чтобы присвоить цвета поверхностям, задайте C
как массив с этими характеристиками:
C
n-1 массив, где n является количеством поверхностей.
Значение в C(i)
управляет цветом для поверхности i
.
Вот пример C
и его отношение к палитре и трем поверхностям.
Наименьшее значение в C
0
, и это сопоставляет с первой строкой в палитре. Самое большое значение в C
1
, и это сопоставляет с последним значением в палитре. Промежуточные значения C
отобразитесь линейно в промежуточных строках в палитре. В этом случае, C(2)
карты к цвету расположенная приблизительно две трети от нижней части палитры.
Этот код создает Patch
объект описан на предыдущем рисунке. FaceColor
свойство установлено в 'flat'
отобразить цвета палитры вместо цвета по умолчанию, который является черным.
clf vertices = [0 0; 0 3; 4 0; 0 4; 0 7; 4 4; 5 0; 5 3; 9 0]; faces = [1 2 3; 4 5 6; 7 8 9]; C = [0; 0.6667; 1]; p = patch('Faces',faces,'Vertices',vertices,'FaceVertexCData',C); p.FaceColor = 'flat'; colorbar
Чтобы присвоить цвета вершинам, задайте FaceVertexCData
свойство Patch
возразите как массив C
с этими характеристиками:
C
n-1 массив, где n является количеством вершин.
Значение в C(i)
управляет цветом в вершине i
.
Вот пример C
и его отношение к палитре и шести вершинам.
Как с поверхностями закрашенной фигуры, MATLAB масштабирует значения в C
к количеству строк в палитре. В этом случае наименьшим значением является C(2)=1
, и это сопоставляет с первой строкой в палитре. Самым большим значением является C(6)=6
, и это сопоставляет с последней строкой в палитре.
Этот код создает Patch
объект описан на предыдущем рисунке. FaceColor
свойство установлено в 'interp'
сделать вершину окрашивает смешение через каждую поверхность.
clf vertices = [0 0; 0 5; 5 0; 3 3; 3 6; 6 3]; faces = [1 2 3; 4 5 6]; C = [5; 1; 4; 3; 2; 6]; p = patch('Faces',faces,'Vertices',vertices,'FaceVertexCData',C); p.FaceColor = 'interp'; colorbar