Incorporar transparencia a los objetos de gráficas
¿Qué es la transparencia?
La transparencia de un objeto de gráficas determina el grado en el que puede ver a través de dicho objeto. Incorpore transparencia a los objetos de gráficas para personalizar las vistas de sus gráficas o revelar detalles sobre un objeto que, de otra forma, estarían ocultos. Esta tabla muestra la diferencia entre una superficie opaca y una transparente.
Objeto opaco | Objeto semitransparente |
---|---|
|
|
Objetos de gráficas que admiten transparencia
Controle la transparencia de un objeto mediante la función alpha
o configurando las propiedades de un objeto relacionadas con la transparencia. Algunos objetos de gráficas admiten el uso de un valor distinto de transparencia para las caras frente a los bordes del objeto.
Esta tabla indica los objetos que admiten transparencia y las propiedades correspondientes. Configure las propiedades a un valor escalar en el intervalo [0,1]
. Un valor de 0 significa una transparencia total; un valor de 1, opacidad total, y valores entre 0 y 1, semitransparencia.
Objetos de gráficas que admiten transparencia | Propiedades para una transparencia uniforme |
---|---|
Área | FaceAlpha EdgeAlpha |
Series de barras | FaceAlpha EdgeAlpha |
Series de dispersión | MarkerFaceAlpha MarkerEdgeAlpha |
Serie BubbleChart | MarkerFaceAlpha MarkerEdgeAlpha |
Histograma | FaceAlpha |
Histograma2 | FaceAlpha |
Superficie de la gráfica | FaceAlpha EdgeAlpha |
Superficie primitiva | FaceAlpha EdgeAlpha |
Parche | FaceAlpha EdgeAlpha |
Imagen | AlphaData |
Sugerencia
Los objetos de parche, superficie, dispersión e imagen admiten el uso de datos alfa para modificar la transparencia del objeto. Para obtener más información, consulte Modificar la transparencia con datos alfa.
Crear gráficas de área con transparencia
Combine dos gráficas de área semitransparentes configurando las propiedades FaceAlpha
y EdgeAlpha
para cada objeto de área.
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áficas de barras con transparencia
Cree una gráfica de barras semitransparente estableciendo la propiedad FaceAlpha
del objeto de series de barras en un valor entre 0 y 1. Muestre las líneas de la cuadrícula.
month = 1:5; sales = [10 25 85 35 16]; bar(month,sales,'FaceAlpha',.5) grid on
Crear gráficas de dispersión con transparencia
Cree un diagrama de dispersión mediante marcadores semitransparentes de color azul. A continuación, añada un segundo diagrama de dispersión mediante marcadores semitransparentes de color rojo. Especifique el color de los marcadores configurando las propiedades MarkerFaceColor
y MarkerEdgeColor
del objeto de la serie de dispersión. Especifique la transparencia estableciendo las propiedades MarkerFaceAlpha
y MarkerEdgeAlpha
en un valor escalar entre 0 y 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
Modificar la transparencia con datos alfa
Los objetos de parche, superficie e imagen disponen de unas pocas propiedades adicionales para modificar la transparencia de los objetos.
Imágenes: especifique un valor de transparencia distinto para cada elemento de la imagen. Especifique los valores configurando la propiedad
AlphaData
en un arreglo con el mismo tamaño que en la propiedadCData
.Gráficas y superficies primitivas: especifique un valor de transparencia distinto para todas las caras y bordes. También puede especificar si utilizar transparencias planas o interpoladas en todas las caras o bordes. Especifique primero los valores de transparencia configurando la propiedad
AlphaData
en un arreglo con el mismo tamaño que en la propiedadZData
. Después, especifique la transparencia plana o interpolada configurando las propiedadesFaceAlpha
yEdgeAlpha
en'flat'
o'interp'
.Parches: especifique un valor de transparencia distinto para todas las caras y bordes. También puede especificar si utilizar transparencias planas o interpoladas en todas las caras o bordes. Especifique primero los valores de transparencia configurando la propiedad
FaceVertexAlphaData
en un vector de columna con una longitud igual al número de caras (para transparencia plana) o el número de vértices en el parche (para transparencia interpolada). Después, especifique la transparencia plana o interpolada configurando las propiedadesFaceAlpha
yEdgeAlpha
en'flat'
o'interp'
.Diagramas de dispersión: especifique un valor de transparencia diferente para cada marcador. Especifique primero los valores de transparencia configurando la propiedad
AlphaData
en un arreglo con el mismo tamaño que en la propiedadXData
. Después, especifique la transparencia plana configurando la propiedadMarkerFaceAlpha
oMarkerEdgeAlpha
en'flat'
.
Utilice la propiedad AlphaDataMapping
para controlar la forma en la que los objetos interpretan los valores de datos alfa. Para obtener más información, consulte las descripciones de las propiedades.
Modificar la transparencia de las gráficas de superficie
Cree una superficie y modifique la transparencia en función del gradiente de los datos de z
. Utilice una transparencia plana en todas las caras de la superficie estableciendo FaceAlpha
en 'flat'
. Configure el color de la superficie en azul para mostrar cómo cambia 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')
Modificar la transparencia de objetos de parche
Represente una línea mediante la función patch
. Establezca la última entrada y
en NaN
de forma que la función patch
cree una línea en vez de un polígono cerrado.
Defina un valor de transparencia por vértice estableciendo la propiedad FaceVertexAlphaData
en un vector de columna. Interprete los valores como valores de transparencia (0 es invisible, 1 es opaco) estableciendo la propiedad AlphaDataMapping
en 'none'
. Interpole la transparencia entre los vértices estableciendo la propiedad EdgeAlpha
en '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
alpha
| alphamap
| alim
| scatter
| bar
| image
| surf
| patch
| area