He creado una parcela en Matlab, pero por desgracia el lado de la trama está cortada por el trazado de la ventana. Aquí está el código que he utilizado para crear la trama:

% create a plot with dots and with bold sides
point = num(:, 1);
depth = num(:, 2);
hfig = plot(point, depth, '-s', 'Color', 'k', 'MarkerFaceColor', 'k', 'MarkerEdgeColor', 'k', 'MarkerSize', 10);

% make the outside of the graph bold
set(gca, 'LineWidth', axis_size);
set(gca,'FontSize', ticksize, 'FontName', fontname);
set(gca, 'Position', [0.2 0.2 0.8 0.4])
xlabel('Point Number')
ylabel('Depth (cm)')

Aquí está el resultado:

El ajuste de tamaño de la parcela en Matlab, de modo que el gráfico no se corta por el borde de la parcela de la ventana

Aviso cómo el lado de la parcela ha sido cortado. Alternativamente, aquí está una foto que muestra lo que desea lograr:

El ajuste de tamaño de la parcela en Matlab, de modo que el gráfico no se corta por el borde de la parcela de la ventana

Simplemente los he creado la trama sin la llamada a set(gca, 'Position', [0.2 0.2 0.8 0.4]) y, a continuación, cambia el tamaño de la parcela por el tamaño de la ventana.

Pero, ¿cómo puedo hacer esto en el código? Yo también quieren asegurarse de que puedo guardar el gráfico como un archivo PNG con las mismas dimensiones. He estado jugando con varias combinaciones de los set() función, y he sido incapaz de lograr lo que quiero conseguir.

3 Comentarios

  1. 5

    Intenta establecer la OuterPosition de la trama.

    set(gca,'OuterPosition',[0.2 0.2 0.8 0.4]);

    La imagen de abajo muestra la diferencia entre los dos:

    El ajuste de tamaño de la parcela en Matlab, de modo que el gráfico no se corta por el borde de la parcela de la ventana

    Aquí es el MathWorks de la página de ayuda.

    • Gracias a ti, este es muy apreciada! Todavía estoy descubriendo que es un poco difícil establecer el Position y la OuterPosition de la trama, ya que lo que tengo es todavía cortado. Podría usted sugerir que algunos de los valores que puedo usar adecuadamente cambiar el tamaño de mi parcela?
  2. 0

    El siguiente documento (Cómo elaborar figuras con Matlab que tienen las dimensiones correctas cuando se imprime) proporciona el código de ejemplo que puede utilizar para cambiar el tamaño de la parcela en la manera correcta.

    El código siguiente se utiliza:

    point = num(:, 1);
    depth = num(:, 2);
    
    hfig = plot(point, depth, '-s', 'Color', 'k', 'MarkerFaceColor', 'k', 'MarkerEdgeColor', 'k', 'MarkerSize', 10);
    set(gca, 'LineWidth', axis_size);
    set(gca,'FontSize', ticksize, 'FontName', fontname);
    set(gcf,'PaperUnits','centimeters')
    xSize = 30; ySize = 5;
    xLeft = (21-xSize)/2; yTop = (30-ySize)/2;
    set(gcf,'PaperPosition',[xLeft yTop xSize ySize])
    set(gcf,'Position',[300 600 xSize*50 ySize*50])
    
    xlabel('Point Number');
    ylabel('Depth (cm)');  

    Aquí está una foto del resultado. Esto se parece a la que he publicado en mi pregunta anterior. No sé si esto depende del tamaño del monitor y/o resolución de la pantalla.

    El ajuste de tamaño de la parcela en Matlab, de modo que el gráfico no se corta por el borde de la parcela de la ventana

    • Esta es la solución que estoy usando por el momento, pero Xurtio y Andrey las soluciones son buenas. Muchas gracias a todos por responder!

Dejar respuesta

Please enter your comment!
Please enter your name here