Прозрачность графического объекта определяет степень, в которой вы можете видеть через него. Добавьте прозрачность к графическим объектам, чтобы настроить внешний вид графиков или показать подробности об объекте, который в противном случае скрыт. В этой таблице показано различие между непрозрачной и полупрозрачной поверхностями.
Непрозрачный объект | Полупрозрачный объект |
---|---|
|
|
Управляйте прозрачностью объекта, используя alpha
function или путем установки свойств объекта, связанных с прозрачностью. Некоторые графические объекты поддерживают использование другого значения прозрачности для граней в зависимости от ребер объекта.
В этой таблице перечислены объекты, поддерживающие прозрачность, и соответствующие свойства. Установите скалярное значение свойств в области значений [0,1]
. Значение 0 означает полностью прозрачное, значение 1 означает полностью непрозрачное, а значения от 0 до 1 являются полупрозрачными.
Графические объекты, поддерживающие прозрачность | Свойства для равномерной прозрачности |
---|---|
Область | FaceAlpha EdgeAlpha |
Линейная серия | FaceAlpha EdgeAlpha |
Серия рассеяния | MarkerFaceAlpha MarkerEdgeAlpha |
Серия BubbleChart | MarkerFaceAlpha MarkerEdgeAlpha |
Гистограмма | FaceAlpha |
Histogram2 | FaceAlpha |
Поверхность графика | FaceAlpha EdgeAlpha |
Примитивная поверхность | FaceAlpha EdgeAlpha |
Закрашенная фигура | FaceAlpha EdgeAlpha |
Изображение | AlphaData |
Совет
Закрашенная фигура, поверхность, рассеяние и объекты изображения поддержки используя альфа- данные для изменения прозрачности по объекту. Для получения дополнительной информации см. Раздел «Изменение прозрачности при помощи Alpha Данных».
Объедините два полупрозрачных графиков областей путем установки 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'
.
Графики поля точек - задайте другое значение прозрачности для каждого маркера. Во-первых, задайте значения прозрачности путем установки 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