Прозрачность графического объекта определяет степень, в которой он виден. Добавьте прозрачность к графическим объектам, чтобы настроить внешний вид диаграмм или показать сведения об объекте, который в противном случае скрыт. В этой таблице показана разница между непрозрачной и полупрозрачной поверхностью.
| Непрозрачный объект | Полупрозрачный объект |
|---|---|
|
|
|
Управление прозрачностью объекта с помощью alpha или заданием свойств объекта, связанных с прозрачностью. Некоторые графические объекты поддерживают использование другого значения прозрачности для граней и кромок объекта.
В этой таблице перечислены объекты, поддерживающие прозрачность, и соответствующие свойства. Задайте скалярное значение свойств в диапазоне [0,1]. Значение 0 означает полную прозрачность, значение 1 означает полную непрозрачность, а значения от 0 до 1 являются полупрозрачными.
| Графические объекты, поддерживающие прозрачность | Свойства для однородной прозрачности |
|---|---|
| Область | FaceAlphaEdgeAlpha |
| Линейная серия | FaceAlphaEdgeAlpha |
| Серия рассеивателей | MarkerFaceAlphaMarkerEdgeAlpha |
| Серия BubureChart | MarkerFaceAlphaMarkerEdgeAlpha |
| Гистограмма | FaceAlpha |
| Histogram2 | FaceAlpha |
| Поверхность диаграммы | FaceAlphaEdgeAlpha |
| Примитивная поверхность | FaceAlphaEdgeAlpha |
| Участок | FaceAlphaEdgeAlpha |
| Изображение | AlphaData |
Совет
Объекты Patch, surface, spatter и image поддерживают использование альфа-данных для изменения прозрачности объекта. Дополнительные сведения см. в разделе Изменение прозрачности с помощью альфа-данных.
Объединение двух полупрозрачных диаграмм областей путем установки FaceAlpha и EdgeAlpha свойства для каждого объекта области.
x = linspace(0,10); y1 = 4 + sin(x).*exp(0.1*x); area(x,y1,'FaceColor','b','FaceAlpha',.3,'EdgeAlpha',.3) y2 = 4 + cos(x).*exp(0.1*x); hold on area(x,y2,'FaceColor','r','FaceAlpha',.3,'EdgeAlpha',.3) hold off

Создайте полупрозрачную гистограмму, установив FaceAlpha свойство объекта штрихового ряда со значением от 0 до 1. Отображение линий сетки.
month = 1:5; sales = [10 25 85 35 16]; bar(month,sales,'FaceAlpha',.5) grid on

Создайте график рассеяния с помощью синих полупрозрачных маркеров. Затем добавьте второй график рассеяния с использованием красных полупрозрачных маркеров. Укажите цвет маркера, задав MarkerFaceColor и MarkerEdgeColor свойства объекта серии рассеяния. Задайте прозрачность, задав значение MarkerFaceAlpha и MarkerEdgeAlpha свойства для скалярного значения от 0 до 1.
x = [5 10 11 13 18]; y1 = [40 80 150 80 50]; a1 = 100*[100 50 80 30 50]; scatter(x,y1,a1,'MarkerFaceColor','b','MarkerEdgeColor','b',... 'MarkerFaceAlpha',.2,'MarkerEdgeAlpha',.2) axis([0 20 0 200]) x = [2 6 8 11 13]; y2 = [30 40 100 60 140]; a2 = 100*[30 50 30 80 80]; hold on scatter(x,y2,a2,'MarkerFaceColor','r','MarkerEdgeColor','r',... 'MarkerFaceAlpha',.2,'MarkerEdgeAlpha',.2) hold off

Объекты Patch, surface и image имеют несколько дополнительных свойств для изменения прозрачности объекта.
Изображения - укажите разное значение прозрачности для каждого элемента изображения. Укажите значения, установив AlphaData для массива того же размера, что и CData собственность.
Таблица и примитивные поверхности (Chart and primitive surfaces) - укажите различные значения прозрачности для каждой грани и кромки. Кроме того, можно указать, следует ли использовать плоскую или интерполированную прозрачность для каждой грани или кромки. Сначала задайте значения прозрачности, установив AlphaData для массива того же размера, что и ZData собственность. Затем задайте плоскую или интерполированную прозрачность, задав значение FaceAlpha и EdgeAlpha свойства для одного из них 'flat' или 'interp'.
Фрагменты (Patches) - укажите различные значения прозрачности для каждой грани и кромки. Кроме того, можно указать, следует ли использовать плоскую или интерполированную прозрачность для каждой грани или кромки. Сначала задайте значения прозрачности, установив FaceVertexAlphaData свойство вектору столбца длиной, равной либо количеству граней (для плоской прозрачности), либо количеству вершин в фрагменте (для интерполированной прозрачности). Затем задайте плоскую или интерполированную прозрачность, задав значение FaceAlpha и EdgeAlpha свойства для одного из них 'flat' или 'interp'.
Графики разброса (Spatter plots) - укажите другое значение прозрачности для каждого маркера. Сначала задайте значения прозрачности, установив AlphaData для массива того же размера, что и XData собственность. Затем задайте плоскую прозрачность, установив либо MarkerFaceAlpha или MarkerEdgeAlpha свойство для 'flat'.
Используйте AlphaDataMapping для управления тем, как объекты интерпретируют значения альфа-данных. Дополнительные сведения см. в описании свойств.
Создание поверхности и изменение прозрачности на основе градиента z данные. Используйте плоскую прозрачность на каждой грани поверхности, задав значение FaceAlpha кому 'flat'. Установите синий цвет поверхности, чтобы показать, как изменяется прозрачность.
[x,y] = meshgrid(-2:.2:2); z = x.*exp(-x.^2-y.^2); a = gradient(z); surf(x,y,z,'AlphaData',a,... 'FaceAlpha','flat',... 'FaceColor','blue')

Постройте график линии с помощью patch функция. Установить последнюю запись y кому NaN чтобы patch создает линию вместо замкнутого многоугольника.
Определите одно значение прозрачности на вершину, установив значение FaceVertexAlphaData свойство вектору столбца. Интерпретируйте значения как значения прозрачности (0 невидим, 1 непрозрачен), задав значение AlphaDataMapping свойство для 'none'. Интерполяция прозрачности между вершинами путем установки EdgeAlpha свойство для 'interp'.
x = linspace(1,10,10); y = sin(x); y(end) = NaN; figure alpha_values = linspace(0,1,10)'; patch(x,y,'red','EdgeColor','red',... 'FaceVertexAlphaData',alpha_values,'AlphaDataMapping','none',... 'EdgeAlpha','interp')

alim | alpha | alphamap | area | bar | image | patch | scatter | surf