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

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

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

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

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

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

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

Графические объекты та Прозрачность ПоддержкиСвойства для универсальной прозрачности
ОбластьFaceAlpha
EdgeAlpha
Ряд панелиFaceAlpha
EdgeAlpha
Рассейте рядMarkerFaceAlpha
MarkerEdgeAlpha
Ряд BubbleChartMarkerFaceAlpha
MarkerEdgeAlpha
ГистограммаFaceAlpha
Histogram2FaceAlpha
Поверхность графика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

Figure contains an axes object. The axes object contains 2 objects of type area.

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

Создайте полупрозрачную столбчатую диаграмму путем установки FaceAlpha свойство ряда панели возражает против значения между 0 и 1. Отобразите линии сетки.

month = 1:5;
sales = [10 25 85 35 16];
bar(month,sales,'FaceAlpha',.5)
grid on

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

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

Создайте график рассеивания с помощью синих, полупрозрачных маркеров. Затем добавьте второй график рассеивания с помощью красных, полупрозрачных маркеров. Задайте цвет маркера путем установки 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

Figure contains an axes object. The axes object contains 2 objects of type scatter.

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

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

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

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

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

  • Графики поля точек — Задают различное значение прозрачности для каждого маркера. Во-первых, задайте значения прозрачности путем установки 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')

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

Отличайтесь прозрачность объекта 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')

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

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

| | | | | | | |