Как данные закрашенной фигуры относятся к палитре

Когда вы создаете графику то использование Patch объекты, можно управлять полной цветовой схемой путем вызова colormap функция. Можно также управлять отношением между палитрой и закрашенной фигурой:

  • Присвоение определенных цветов к поверхностям

  • Присвоение определенных цветов к вершинам, окружающим каждую поверхность

Путем вы управляете этими отношениями, зависит от того, как вы задаете свои закрашенные фигуры: как x-, y-, и z-координаты, или как данные Face-Vertex.

Отношение Палитры к x-, y-, и Массивы z-координаты

Если вы создаете 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

Figure contains an axes. The axes contains an object of type patch.

Чтобы присвоить цвета вершинам, задайте 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

Figure contains an axes. The axes contains an object of type patch.

Отношение палитры к данным Face-Vertex

Если вы создаете закрашенные фигуры с помощью данных 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

Figure contains an axes. The axes contains an object of type patch.

Чтобы присвоить цвета вершинам, задайте 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

Figure contains an axes. The axes contains an object of type patch.

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

Функции

Свойства

Похожие темы