How to make horizontal and vertical axis in matlab plot?
678 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I would like to make a plot which includes the x-axis and the y-axis. So x=0 and y=0. What is the most easy way to do this? Now I have this:
syms x y;
x=-4:4;
y=90-15*x;
plot(x,y);
grid on;
xlabel('x');
ylabel('y');
0 commentaires
Réponses (2)
Image Analyst
le 31 Mai 2016
Modifié(e) : Image Analyst
le 24 Sep 2023
Try adding this:
grid on;
line([0,0], ylim, 'Color', 'k', 'LineWidth', 2); % Draw line for Y axis.
line(xlim, [0,0], 'Color', 'k', 'LineWidth', 2); % Draw line for X axis.
It doesn't move the tick marks and tick labels for you but it will draw thick black lines where the axes are so that they don't look just like any other grid line.
4 commentaires
Steven Lord
le 24 Sep 2023
Should we switch to make your other answer the Accepted answer instead of this one?
Image Analyst
le 25 Sep 2023
@Steven Lord Probably, since most people now will be using modern versions where they can do what I did there in the newer Answer. I think they were unavailable way back in 2016 when I originally answered the question. I unaccepted the old answer but I can't accept my own, new answer so it would be great if you do it. Thanks. 🙂
Image Analyst
le 24 Sep 2023
Try this:
% Method #1:
figure;
x = -4:11;
y = 90 - 15 * x;
plot(x, y, 'b-', 'LineWidth', 2);
grid on;
xlabel('x');
ylabel('y');
% Place black lines along axes:
xline(0, 'Color', 'k', 'LineWidth', 2); % Draw line for Y axis.
yline(0, 'Color', 'k', 'LineWidth', 2); % Draw line for X axis.
% Method #2
figure;
plot(x, y, 'b-', 'LineWidth', 2);
grid on;
xlabel('x');
ylabel('y');
ax = gca;
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';
0 commentaires
Voir également
Catégories
En savoir plus sur Annotations dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!