How to make horizontal and vertical axis in matlab plot?

조회 수: 651 (최근 30일)
Lisanne Hogeveen
Lisanne Hogeveen 2016년 5월 31일
댓글: Image Analyst 2023년 9월 25일
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');

답변 (2개)

Image Analyst
Image Analyst 2016년 5월 31일
편집: Image Analyst 2023년 9월 24일
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
Steven Lord
Steven Lord 2023년 9월 24일
Should we switch to make your other answer the Accepted answer instead of this one?
Image Analyst
Image Analyst 2023년 9월 25일
@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
Image Analyst 2023년 9월 24일
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';

카테고리

Help CenterFile Exchange에서 Annotations에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by