Добавление прозрачности к графическим объектам

Что такое прозрачность?

Прозрачность графического объекта определяет градус, до которого вы видите через нее. Добавьте прозрачность к графическим объектам, чтобы настроить вид ваших графиков или показать детали об объекте, которые в противном случае скрыты. Эта таблица показывает различие между непрозрачной и полупрозрачной поверхностью.

Непрозрачный объектПолупрозрачный объект

Графические объекты та Прозрачность Поддержки

Управляйте прозрачностью объекта с помощью функции alpha или путем установки свойств объекта, связанного с прозрачностью. Некоторая поддержка графических объектов с помощью различного значения прозрачности для поверхностей по сравнению с краями объекта.

Эта таблица приводит объекты, которые поддерживают прозрачность и соответствующие свойства. Установите свойства на скалярное значение в области значений [0,1]. Значение 0 абсолютно прозрачных средних значений, значение 1 абсолютно непрозрачного среднего значения, и значения между 0 и 1 являются полупрозрачными.

Графические объекты та Прозрачность ПоддержкиСвойства для универсальной прозрачности
Область'FaceAlpha'
EdgeAlpha
Ряд панели'FaceAlpha'
EdgeAlpha
Рассейте ряд'MarkerFaceAlpha'
MarkerEdgeAlpha
Гистограмма'FaceAlpha'
Histogram2'FaceAlpha'
Поверхность графика'FaceAlpha'
EdgeAlpha
Примитивная поверхность'FaceAlpha'
EdgeAlpha
Закрашенная фигура'FaceAlpha'
EdgeAlpha
Изображение'AlphaData'

Совет

Исправьте, появитесь, и поддержка объектов изображения с помощью альфа-данных, чтобы отличаться прозрачность через объект. Для получения дополнительной информации смотрите, Отличаются Прозрачность Используя Альфа-Данные.

Создание диаграммы областей с прозрачностью

Объедините две полупрозрачных диаграммы областей путем установки свойств 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

Изменение прозрачности с помощью альфа-данных

Исправьте, появитесь, и объекты изображения имеют несколько дополнительных свойств для варьирования прозрачности через объект.

  • Изображения — Задают различное значение прозрачности для каждого элемента изображения. Задайте значения путем установки свойства AlphaData на массив тот же размер как свойство CData.

  • Стройте диаграмму и примитивные поверхности — Задают различное значение прозрачности для каждой поверхности и края. Кроме того, можно задать, использовать ли плоскую или интерполированную прозрачность через каждую поверхность или край. Во-первых, задайте значения прозрачности путем установки свойства AlphaData на массив тот же размер как свойство ZData. Затем задайте плоскую или интерполированную прозрачность путем установки свойств FaceAlpha и EdgeAlpha или на 'flat' или на 'interp'.

  • Закрашенные фигуры — Задают различное значение прозрачности для каждой поверхности и края. Кроме того, можно задать, использовать ли плоскую или интерполированную прозрачность через каждую поверхность или край. Во-первых, задайте значения прозрачности путем установки свойства FaceVertexAlphaData на вектор - столбец с длиной, равной любому количество поверхностей (для плоской прозрачности) или количество вершин в закрашенной фигуре (для интерполированной прозрачности). Затем задайте плоскую или интерполированную прозрачность путем установки свойств FaceAlpha и EdgeAlpha или на 'flat' или на 'interp'.

Используйте свойство 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

Постройте график с помощью функции 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')

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

| | | | | | | |

Была ли эта тема полезной?