Dada una parcela de tres curvas .fig archivo que me gustaría añadir otra parcela (con hold all y plot), pero puso detrás de uno de los ya existentes curvas (es decir, asegúrese de que la última curva original permanece en primer plano de uno). Esto puede ser logrado sin tener que extraer la trama de datos y re-trazado?

4 Comentarios

  1. 44

    Si sabe el identificador de línea que desee en la parte superior (por ejemplo, porque se llama h = plot(...), puede utilizar uistack

    uistack(h,'top')

    Alternativamente, usted puede manipular el orden de los hijos de su actual ejes directamente. A continuación se pone la última-la mayoría de la curva en la parte superior.

    chH = get(gca,'Children')
    set(gca,'Children',[chH(end);chH(1:end-1)])
    • Puede que este resultado también se puede obtener de alguna manera por cambiar manualmente el orden de las curvas en la figura del medio ambiente? Traté de simplemente encontrar algo acerca de que en el «derecho-haga clic en el menú», señala en una de las curvas.. no Encontré nada.. Gracias de antemano!
    • no se puede decir acerca de la última versión de Matlab, pero hasta 2016, no fue posible.
  2. 2

    La resolución dada por @Jonas utilizando 'Children' propiedad no funciona en un determinado formato. Debe ser modificado de la siguiente manera:

    chH = get(gca,'Children')
    set(gca,'Children',flipud(chH))
  3. 1

    Cuando la imagen tiene una leyenda, la get(gca,...) y set(gca,...) par resultar en un error: «Error en la utilización de conjunto. Los niños sólo se puede establecer a una permutación de sí mismo»
    En ese caso, he utilizado la interfaz gráfica de usuario seleccione la herramienta de la figura para seleccionar los ejes de los objetos, a continuación, obtener y establecer trabajar sólo con las parcelas como se requiere y no la leyenda así. Después de llamar establecido, tiene que actualizar la leyenda llamando legend(...). Yo tenía 5 parcelas que necesitaba para reordenar. Si no está seguro acerca de la orden, permutar parcelas de dos en dos, de actualización de la leyenda para ver si ese es el orden que quería

  4. 0

    La Children propiedad contiene las referencias y el orden que dicta la gráfica de la pila.

    Otra opción de cómo recuperar la lista es

    gcaChildrenList=gca.Children;

    De esta manera usted puede jugar con los pedidos como

    gca.Children=gca.Children([2:end 1]);         % Put the topmost graphic in the bottom
    gca.Children=gca.Children([end:-1:1]);        % Flip the stack
    gca.Children=gca.Children([1:N-1 N+1:end N]); % Put Nth graphics ontop the stack

    Probado en Matlab R2014b

Dejar respuesta

Please enter your comment!
Please enter your name here