comando - ¿Cómo agregar una línea del eje x a una figura?(Matlab)
xlabel latex matlab (6)
- Dibuje sus datos por comando
plot()
ostem()
. Se abrirá una ventana de figura. - Luego, en la ventana de la figura, haga clic en el comando [insertar] del
barra de menú, aparecerá un menú desplegable. - Desde este menú, haga clic en el comando [línea], ahora la forma de la
el cursor cambiará a un signo más. - Ahora puede dibujar una línea en cualquier lugar que desee, ya sea horizontal o
vertical o inclinado - Puede cambiar las propiedades de la línea haciendo clic derecho en el
línea, aparecerá un menú desde el que puede elegir sus deseos
propiedades - Si desea tener algunas marcas en la línea, puede usar la opción Agregar texto y colocar el texto donde desee.
- Si desea tener un código para su figura, haga clic en el menú [archivo] y luego en la opción [Generatecode], un nuevo editor de texto
La ventana se abrirá, puede guardar este código para su uso posterior. Buena suerte.
Quiero agregar una línea del eje x en 0 a una figura matlab para poder comparar mis datos para ver si es positivo o negativo al guardar las cifras en un jpg. ¿Cuál es la mejor manera de hacer esto? Sé que puede usar la línea () pero parece engorroso porque necesita especificar los rangos xy y. hay una manera mas facil? ¡Gracias!
Desde MATLAB R2018b hay una yline
para este propósito:
yline(0)
Dibuja una línea horizontal en y==0
.
Existe una función no documentada 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'');
Lo bueno es que implementa internamente un oyente para los límites de los ejes (los manejadores cambian como paneo, zoom, etc.). Entonces las líneas parecen extenderse hasta el infinito.
Puede obtener este rango x directamente después de que se haya creado la figura. 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'')
Tenga en cuenta que si realiza un zoom manual en la figura, es posible que la línea tenga que volver a dibujarse para recorrer todo el nuevo rango x.
Un vline
y hline
como en GNU R sería genial, pero no pude encontrar una solución más corta que
plot(1:10,sin(1:10));
line(xlim,[0 0],''Color'',''r'')
No creo que haya una forma integrada que sea más conveniente. Utilizo hline()
y vline()
de FileExchange, que funcionan como un encanto: