Quiero añadir un eje x de la línea de 0 a matlab figura por lo que puedo comparar mis datos para ver si es positivo o negativo cuando el ahorro de las figuras a un jpg. ¿Cuál es la mejor manera de hacer esto? Sé que usted puede utilizar la línea() pero parece incómodo porque es necesario especificar la x y la y rangos. Hay una manera más fácil? Gracias!

Consulte stackoverflow.com/q/17798093/7328782 para una pregunta similar sobre las líneas verticales.

OriginalEl autor O_O | 2011-11-10

6 Comentarios

  1. 32

    Existe una indocumentados función graph2d.constantline:

    plot(-2:5, (-2:5).^2-1)
    
    %# vertical line
    hx = graph2d.constantline(0, 'LineStyle',':', 'Color',[.7 .7 .7]);
    changedependvar(hx,'x');
    
    %# horizontal line
    hy = graph2d.constantline(0, 'Color',[.7 .7 .7]);
    changedependvar(hy,'y');

    Cómo agregar un eje x de la línea a de la figura? (matlab)

    Lo bueno es que internamente implementa un agente de escucha de los ejes de los límites (manijas de cambio como el pan, zoom, etc..). Así que las líneas se parecen extenderse hasta el infinito.

    Se parece a mi versión de Matlab 7.0.1 R14 SP1 me da una segmentación de violación cuando ejecuto el código y no me da el eje x de la línea. 🙁
    ¿por qué el downvote, su versión de MATLAB es bastante vieja, y resulta que no funciona la solución anterior.. Además como ya he mencionado, esta es una característica de indocumentados
    lo siento, no pensé que lo haría. he intentado deshacer el upvote, pero causó la downvote lugar. no es muy intuitivo.. =/ ahora yo no puedo hacer nada desde el ans es bloqueado hasta que el post está editado y no tengo privilegios de edición.
    Muy bonito solución! Exactamente lo que he estado buscando durante mucho tiempo!
    actualización: desgraciadamente, la función fue eliminado en R2014b (que introdujo el nuevo HG2 sistema de gráficos).

    OriginalEl autor Amro

  2. 6

    Usted podría conseguir esta serie x directamente después de la se ha creado la figura. Se va un poco algo como esto:

    x=-2:5;
    y=x.^2-1;
    
    figure()
    plot(x,y);
    
    xlim = get(gca,'xlim');  %Get x range 
    hold on
    plot([xlim(1) xlim(2)],[0 0],'k')

    Cómo agregar un eje x de la línea a de la figura? (matlab)

    Tenga en cuenta que si haces cualquier manual de zoom en la figura, la línea podría tener que dibujar a ir sobre la totalidad de la nueva serie x.

    OriginalEl autor Vidar

  3. 6

    Un vline y hline de comandos como en GNU R sería genial, pero no he podido encontrar una solución más corto que

    plot(1:10,sin(1:10));
    line(xlim,[0 0],'Color','r') 
    Esta es una forma muy elegante método!

    OriginalEl autor Jonas Stein

  4. 0
    1. Dibujar los datos por plot() comando o stem(). Una figura se abrirá la ventana.
    2. A continuación, en la figura de la ventana, haga clic en [insertar] comando de la

      barra de menú, un menú desplegable que aparecerá.
    3. Desde este menú, haga clic en el [en línea] comando, ahora la forma de la

      el cursor se convertirá en un signo más.
    4. Ahora se puede dibujar una línea en cualquier lugar que desee, ya sea horizontal o

      vertical o inclinada.
    5. Puede cambiar las propiedades de la línea haciendo clic derecho sobre el

      línea, aparecerá un menú desde el que puede elegir sus deseos

      propiedades.
    6. Si usted quiere tener un poco de garrapatas en la línea, a continuación, puede utilizar agregar
      opción de texto, y el lugar del texto donde quiera.
    7. Si a usted le gustaría tener un código para su figura, haga clic en [archivo]
      menú y, a continuación, haga clic en [generatecode] opción, un nuevo editor de texto

      se abrirá la ventana, usted puede guardar este código para su posterior utilización. La buena suerte.

    OriginalEl autor Mota Mota

  5. 0

    Desde MATLAB R2018b hay yline para este propósito:

     yline(0)

    dibuja una línea horizontal en y==0.

    OriginalEl autor Cris Luengo

Dejar respuesta

Please enter your comment!
Please enter your name here