Exportar figuras para utilizarlas en otras aplicaciones
Para exportar figuras y gráficas a fin de utilizarlas en documentos y otras aplicaciones, utilice la función exportgraphics para guardar el contenido en un archivo o la función copygraphics para copiarlo en el portapapeles. Ambas funciones permiten guardar figuras y gráficas con el tamaño, resolución y relación de aspecto adecuados para su aplicación. También puede especificar un margen de relleno y color de fondo, y controlar la ubicación de las marcas de los ejes. Los ejemplos en este tema utilizan la función exportgraphics, pero puede aplicar los mismos conceptos y argumentos cuando utilice la función copygraphics.
Cuando utiliza las funciones exportgraphics y copygraphics, los componentes de la IU y los contenedores, como los paneles, que hay junto a su gráfica no están incluidos en el contenido guardado. En estos casos, utilice la función exportapp en su lugar.
Especificar qué gráficas exportar
Para exportar una gráfica a un archivo, utilice la función exportgraphics. Especifique la figura principal como el primer argumento. Por ejemplo, cree una figura que mida 535 por 325 píxeles. Después, cree un diagrama de contorno y exporte la figura como archivo PNG. Especificar la figura permite capturar todos los objetos de ejes asignados directamente a la figura y su contenido. Si su figura contiene anotaciones, exportgraphics las captura también.
f = figure;
f.Position(3:4) = [535 325];
contour(peaks)
colorbar
exportgraphics(f,"contour.png")
También puede especificar un objeto de ejes en lugar de una figura como primer argumento para la función exportgraphics. En este caso, el archivo resultante es el mismo, ya que la figura contiene solo un objeto de ejes.
ax = gca;
exportgraphics(ax,"contour.png")También puede exportar un mosaico de gráficas pasando un objeto TiledChartLayout como primer argumento. Por ejemplo, cree un mosaico de dos gráficas y exporte el diseño de gráfica en mosaico como archivo PNG.
f = figure;
f.Position(3:4) = [650 300];
t = tiledlayout(1,2);
ax1 = nexttile;
plot([4 3 2; 3 2 1],LineWidth=2)
ax2 = nexttile;
contourf(peaks)
exportgraphics(t,"twoplots.png")
Para exportar una gráfica desde un diseño de gráfica en mosaico, utilice la función nexttile para obtener el objeto de los ejes y páselo a la función exportgraphics. Por ejemplo, nexttile(2) devuelve los ejes en el segundo mosaico.
ax = nexttile(2);
exportgraphics(ax,"secondplot.png")Especificar resolución
Para exportar una gráfica como imagen con una resolución concreta, utilice la función exportgraphics con el argumento de par nombre-valor Resolution. De forma predeterminada, las imágenes se guardan a 150 puntos por pulgada (DPI).
La resolución habitual para impresiones es de 300 DPI. Para gráficas en la web, la resolución habitual es de 72 DPI. Para exportar una gráfica con la misma resolución que utiliza MATLAB®, use el valor de la propiedad ScreenPixelsPerInch del objeto raíz de gráficas (groot). Independientemente de la resolución que especifique, las dimensiones en píxeles de la imagen final son aproximadamente la anchura y la altura de la figura multiplicados por la resolución. Por ejemplo, al exportar una gráfica de 4 pulgadas de ancho con 300 DPI, se obtiene una imagen de 1200 píxeles de ancho.
Por ejemplo, cree una figura que mida 535 por 325 píxeles. Después, cree una gráfica de barras y expórtela con la misma resolución que utiliza MATLAB.
f = figure; f.Position(3:4) = [535 325]; bar([1 11 7 8 2 2 9 3 6]) sppi = get(groot,"ScreenPixelsPerInch"); exportgraphics(f,"barchart.png",Resolution=sppi)

Puede exportar gráficas de un tamaño concreto especificando la resolución además de la anchura y la altura. Por ejemplo, el código siguiente guarda el contenido de una figura como una imagen de 3 pulgadas cuadradas (o 900 píxeles cuadrados) con 300 DPI. En las secciones siguientes, se proporciona más información sobre cómo especificar la anchura y la altura.
exportgraphics(gcf,"bar-3inch-300dpi.png",Units="inches", ... Width=3,Height=3,Resolution=300)
Especificar tamaño
La función exportgraphics tiene cuatro argumentos nombre-valor que permiten controlar las dimensiones y la relación de aspecto al exportar una gráfica: Width, Height, Units y PreserveAspectRatio.
Una manera sencilla de controlar el tamaño del archivo de salida es especificar la longitud de una dimensión usando o el argumento de par nombre-valor Width o Height. MATLAB ajusta la dimensión que no se especifica para conservar la relación de aspecto original. Especifique el argumento de par nombre-valor Units cuando especifique los valores Width o Height.
Cuando especifique el tamaño, ajuste también la propiedad Position de la figura para que la anchura y la altura sean similares a la anchura y la altura del archivo exportado. La propiedad Position es un vector de cuatro elementos. Los valores de anchura y altura son los dos últimos elementos del vector (en unidades de píxel de forma predeterminada). Haga este ajuste antes de llamar a exportgraphics.
Por ejemplo, cree una figura que mida 535 por 325 píxeles. Cree una gráfica de barras y guárdela como un archivo PNG que tenga aproximadamente 500 píxeles de ancho. MATLAB ajusta la altura a 334 píxeles para que conserve la relación de aspecto original. De manera predeterminada, el contenido se reduce estrictamente al contenido de los ejes. El borde gris alrededor de la imagen delimita la región capturada. El borde no forma parte de la imagen guardada.
f = figure; f.Position(3:4) = [535 325]; bar([1 11 7 8 2 2 9 3 6]) exportgraphics(f,"bar500.png",Units="pixels",Width=500)

También puede especificar los valores Width y Height. Este código cambia la relación de aspecto para crear una imagen cuadrada reducida estrictamente.
exportgraphics(f,"barsquare.png", ... Units="pixels",Width=400,Height=400)

Si desea conservar la relación de aspecto original de la gráfica, especifique el argumento de par nombre-valor PreserveAspectRatio como "on". El código siguiente crea una imagen cuadrada que incluye relleno para conservar la relación de aspecto original de la gráfica de barras.
exportgraphics(f,"barsquare-padded.png", ... Units="pixels",Width=400,Height=400,PreserveAspectRatio="on")

Si exporta un archivo de imagen y especifica la anchura y la altura con unidades que no son píxeles, como pulgadas o centímetros, asegúrese de especificar el argumento de par nombre-valor Resolution. De lo contrario, el resultado tiene una resolución predeterminada de 150 DPI, lo que podría provocar que el tamaño final no sea el necesario para su aplicación.
Por ejemplo, cree una gráfica de barras y guárdela como una imagen cuadrada con 3 pulgadas de lado con la misma resolución que utiliza MATLAB.
f = figure; f.Position(3:4) = [300 300]; bar([1 11 7 8 2 2 9 3 6]) sppi = get(groot,"ScreenPixelsPerInch"); exportgraphics(f,"bar3inchsquare.png", ... Units="inches",Width=3,Height=3, ... Resolution=sppi)

Una manera alternativa de controlar el tamaño es guardar el contenido como un archivo de gráficos vectoriales. Después, puede volver a cambiar el tamaño del contenido en la aplicación final. Para guardar el contenido como un archivo de gráficos vectoriales, utilice la función exportgraphics con el argumento de par nombre-valor ContentType especificado como "vector". Por ejemplo, cree una gráfica de barras y guarde la figura como un fragmento de PDF que contenga gráficos vectoriales. Todas las fuentes están incluidas en el archivo PDF. El archivo resultante tiene un aspecto similar al de esta imagen.
f = figure; f.Position(3:4) = [535 325]; bar([1 11 7 8 2 2 9 3 6]) exportgraphics(f,"bar.pdf",ContentType="vector")

También puede exportar la figura como un archivo SVG. Un archivo SVG siempre contiene gráficos vectoriales, por lo que no tiene que especificar el valor ContentType.
exportgraphics(f,"bar.svg")Especificar relleno
Puede controlar la cantidad de relleno que hay alrededor de una gráfica exportada usando exportgraphics con el argumento de par nombre-valor Padding. De manera predeterminada, el valor Padding es "tight". Este valor proporciona un relleno mínimo (a menos que especifique los valores Width y Height con el valor PreserveAspectRatio como "on").
Por ejemplo, cree una gráfica de líneas y expórtela como un archivo JPG de 400 por 300 píxeles con el relleno predeterminado. El borde gris alrededor de la imagen delimita la región capturada. El borde no forma parte de la imagen guardada.
f = figure; f.Position(3:4) = [400 300]; plot([4 3 2 1; 3 2 1 4],LineWidth=2) exportgraphics(f,"plot-tight-padding.jpg", ... Units="pixels",Width=400,Height=300)

Para utilizar el mismo relleno que se muestra en la figura, especifique el argumento de par nombre-valor Padding como "figure". El relleno viene incluido en las dimensiones que especifique. Por lo tanto, la gráfica exportada es ligeramente más pequeña para encajar el relleno adicional.
exportgraphics(f,"plot-figure-padding.jpg", ... Units="pixels",Width=400,Height=300, ... Padding="figure")

Para especificar un valor de relleno personalizado, especifique el argumento de par nombre-valor Padding como un número expresado en las mismas unidades que los valores Width y Height. En este caso, añada 10 píxeles a cada lado de la gráfica.
exportgraphics(f,"plot-10px-padding.jpg", ... Units="pixels",Width=400,Height=300, ... Padding=10)

Especificar el color de fondo
De manera predeterminada, la función exportgraphics guarda contenido con un color de fondo que se corresponde al tema de la figura. Puede especificar un fondo diferente estableciendo el argumento de par nombre-valor BackgroundColor como uno de estos valores:
"current": selecciona un color en función del color del contenedor principal de los ejes (como una figura o un panel). Si el tema de la figura es claro, el color de fondo será blanco. Si el tema es oscuro, el color de fondo será gris oscuro (casi negro). Si el contenedor principal tiene un color que haya personalizado, el color de fondo coincidirá con el color personalizado."none": establece el color de fondo como transparente, blanco o gris oscuro (casi negro) en función del valor deContentType:Si
ContentType="vector", el color de fondo es transparente.Si
ContentType="image", el color de fondo es blanco en figuras con el tema claro y gris oscuro (casi negro) en figuras con el tema oscuro.
Un color predeterminado, especificado como un triplete RGB como
[1 0 0], un código de color hexadecimal como"#FF0000"o un color denominado como"red".
Por ejemplo, cree un diagrama de tallos y guarde la figura como un archivo PDF con un fondo transparente.
f = figure; f.Position(3:4) = [400 300]; stem(1:10,"filled",LineWidth=2) ylim padded exportgraphics(f,"stem-transparent.pdf",ContentType="vector",... BackgroundColor="none")

Conservar límites de ejes y valores de marcas
De manera ocasional, la función exportgraphics captura su contenido con límites de ejes y valores de marcas diferentes en función del tamaño de fuente y la relación de aspecto del resultado. Para evitar que cambien los límites de eje y los valores de marcas, establezca el modo del valor de marca y las propiedades de modo de límite en los ejes en "manual". Por ejemplo, al representar ejes cartesianos, establezca las propiedades XTickMode, YTickMode, ZTickMode, XLimMode, YLimMode y ZLimMode en "manual".
Por ejemplo, el código siguiente crea una gráfica y establece las propiedades de modo en "manual". Después, exporta la gráfica con una relación de aspecto significativamente diferente. Los límites de ejes y los valores de marcas se mantienen en el archivo resultante.
f = figure; f.Position(3:4) = [400 300]; plot([4 3 2 1; 3 2 1 4],LineWidth=2) % Set the mode properties of the axes ax = gca; ax.XTickMode = "manual"; ax.YTickMode = "manual"; ax.ZTickMode = "manual"; ax.XLimMode = "manual"; ax.YLimMode = "manual"; ax.ZLimMode = "manual"; exportgraphics(f,"eplot-preserveticks.png", ... Units="pixels",Width=200,Height=400)

Para las gráficas polares, establezca las propiedades RTickMode, ThetaTickMode, RLimMode y ThetaLimMode de los ejes polares en "manual".