Как показать оси x и y в графе MATLAB?

Я рисую график, используя функцию plot(), но по умолчанию он не показывает оси.

Как включить отображение осей при x = 0 и y = 0 на графике?

На самом деле мой график выглядит примерно так: alt text

И я хочу горизонтальную линию, соответствующую y = 0. Как это получить?

Ответы

Ответ 1

По умолчанию на графике отображаются оси, если вы не изменили некоторые настройки. Попробуйте следующее

hold on; % make sure no new plot window is created on every plot command
axes(); % produce plot window with axes
plot(% whatever your plot command is);
plot([0 10], [0 0], 'k-'); % plot the horizontal line

Ответ 2

Решение бедного человека состоит в простом графике линий x = 0 и y = 0. Вы можете отрегулировать толщину и цвет линий, чтобы отличить их от графика.

Ответ 3

Если вы хотите, чтобы оси отображались скорее как перекрестье, а не по краям, попробуйте axescenter из Matlab FEX.

EDIT: только что заметил, что это уже указано в ссылке выше, Jitse Nielsen.

Ответ 4

Может быть, grid on будет достаточно.

Ответ 5

@Martijn ваш порядок вызовов функций немного выключен. Вместо этого попробуйте:

x=-3:0.1:3;
y = x.^3;
plot(x,y), hold on
plot([-3 3], [0 0], 'k:')
hold off

Ответ 6

Я знаю, что это придет немного поздно, но мой коллега что-то понял:

figure, plot ((1:10),cos(rand(1,10))-0.75,'*-')
hold on
plot ((1:10),zeros(1,10),'k+-')
text([1:10]-0.09,ones(1,10).*-0.015,[{'0' '1'  '2' '3' '4' '5' '6' '7' '8' '9'}])
set(gca,'XTick',[], 'XColor',[1 1 1])
box off

Ответ 7

Это должно работать в Matlab:

set(gca, 'XAxisLocation', 'origin')

Параметры: нижний, верхний, начальный.

Для Y.axis:

YAxisLocation; left, right, origin

Ответ 8

Вдохновленный @Luisa ответ, я сделал функцию, axes0

x = linspace(-2,2,101);
plot(x,2*x.^3-3*x+1);
axes0

Пример вывода для осей0

Вы можете перейти по ссылке выше, чтобы загрузить функцию и получить более подробную информацию об использовании

Ответ 9

Самое простое решение:

plot([0,0],[0.0], xData, yData);

Это создает невидимую линию между точками [0,0] до [0,0], и поскольку Matlab хочет включить эти точки, она будет показывать ось.