Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Añadir transparencia a objetos gráficos

¿Qué es la transparencia?

La transparencia de un objeto gráfico determina el grado al que se puede ver a través de él. Añada transparencia a los objetos gráficos para personalizar el aspecto de sus gráficos o para revelar detalles sobre un objeto que de otro modo están ocultos. Esta tabla muestra la diferencia entre una superficie opaca y semitransparente.

Objeto opacoObjeto semitransparente

Los objetos gráficos que admiten transparencia

Controle la transparencia de un objeto mediante la función o estableciendo las propiedades del objeto relacionado con la transparencia.alpha Algunos objetos gráficos admiten el uso de un valor de transparencia diferente para las caras frente a los bordes del objeto.

Esta tabla enumera los objetos que soportan la transparencia y las propiedades correspondientes. Establezca las propiedades en un valor escalar del intervalo.[0,1] Un valor de 0 significa completamente transparente, un valor de 1 significa completamente opaco, y los valores entre 0 y 1 son semitransparentes.

Los objetos gráficos que admiten transparenciaPropiedades de transparencia uniforme
ÁreaFaceAlpha
EdgeAlpha
Serie de barrasFaceAlpha
EdgeAlpha
La serie ScatterMarkerFaceAlpha
MarkerEdgeAlpha
HistogramaFaceAlpha
Histogram2FaceAlpha
Superficie del gráficoFaceAlpha
EdgeAlpha
La superficie primitivaFaceAlpha
EdgeAlpha
ParcheFaceAlpha
EdgeAlpha
ImagenAlphaData

Sugerencia

Los objetos de parche, superficie y imagen admiten el uso de datos alfa para variar la transparencia en el objeto. Para obtener más información, consulte.Variar la transparencia con datos alfa

Crear gráfico de área con transparencia

Combine dos gráficos de área semitransparentes estableciendo las propiedades para cada objeto de área.FaceAlphaEdgeAlpha

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

Crear gráfico de barras con transparencia

Cree un gráfico de barras semitransparentes estableciendo la propiedad del objeto de la serie de barras en un valor entre 0 y 1.FaceAlpha Visualice las líneas de rejilla.

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

Crear gráfico de dispersión con transparencia

Cree un gráfico de dispersión utilizando marcadores azules y semitransparentes. A continuación, añada un segundo gráfico de dispersión utilizando marcadores de color rojo y semitransparentes. Especifique el color del marcador estableciendo las propiedades del objeto de la serie de dispersión.MarkerFaceColorMarkerEdgeColor Especifique la transparencia estableciendo las propiedades y en un valor escalar entre 0 y 1.MarkerFaceAlphaMarkerEdgeAlpha

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

Variar la transparencia con datos alfa

Los objetos de parche, superficie e imagen tienen algunas propiedades adicionales para variar la transparencia en el objeto.

  • Imágenes (Images): permite especificar un valor de transparencia diferente para cada elemento de imagen. Especifique los valores estableciendo la propiedad en una matriz del mismo tamaño que la propiedad.AlphaDataCData

  • Gráfico y superficies primitivas: especifique un valor de transparencia diferente para cada cara y arista. Además, puede especificar si desea utilizar transparencias planas o interpoladas en cada cara o arista. En primer lugar, especifique los valores de transparencia estableciendo la propiedad en una matriz del mismo tamaño que la propiedad.AlphaDataZData A continuación, especifique la transparencia plana o interpolada estableciendo las propiedades y a cualquiera o.FaceAlphaEdgeAlpha'flat''interp'

  • Parches: especifique un valor de transparencia diferente para cada cara y arista. Además, puede especificar si desea utilizar transparencias planas o interpoladas en cada cara o arista. En primer lugar, especifique los valores de transparencia estableciendo la propiedad en un vector de columna con una longitud igual al número de caras (para la transparencia plana) o el número de vértices en el parche (para la transparencia interpolada).FaceVertexAlphaData A continuación, especifique la transparencia plana o interpolada estableciendo las propiedades y a cualquiera o.FaceAlphaEdgeAlpha'flat''interp'

Utilice la propiedad para controlar cómo los objetos interpretan los valores de datos alfa.AlphaDataMapping Consulte las descripciones de las propiedades para obtener más información.

Variar transparencia del gráfico de superficies

Cree una superficie y varíe la transparencia en función del degradado de los datos.z Utilice una transparencia plana en cada cara de superficie estableciendo la a.FaceAlpha'flat' Establezca el color de la superficie en azul para mostrar cómo varía la transparencia.

[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')

Variar la transparencia del objeto de parche

Trace una línea utilizando la función.patch Establezca la última entrada de para que crea una línea en lugar de un polígono cerrado.yNaNpatch

Defina un valor de transparencia por vértice estableciendo la propiedad en un vector de columna.FaceVertexAlphaData Interprete los valores como valores de transparencia (0 es invisible, 1 es opaco) estableciendo la propiedad en.AlphaDataMapping'none' Interpolar la transparencia entre los vértices estableciendo la propiedad.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')

Consulte también

| | | | | | | |