Как добавить линию оси X к фигуре?(MATLAB) - PullRequest
16 голосов
/ 11 ноября 2011

Я хочу добавить линию оси x в 0 к значению Matlab, чтобы я мог сравнить свои данные, чтобы увидеть, являются ли они положительными или отрицательными при сохранении рисунков в JPG. Каков наилучший способ сделать это? Я знаю, что вы можете использовать line (), но это кажется громоздким, потому что вам нужно указать диапазоны x и y. Есть ли более простой способ? Спасибо!

Ответы [ 6 ]

32 голосов
/ 13 ноября 2011

Существует недокументированная функция 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');

screenshot

Приятно то, что он внутренне реализует слушатель для ограничений осей (ручки меняются как панорамирование, масштабирование и т. Д.). Таким образом, линии будут казаться бесконечными.

6 голосов
/ 13 марта 2015
Команды

A vline и hline, как в GNU R, были бы хорошими, но я не смог найти более короткое решение, чем

plot(1:10,sin(1:10));
line(xlim,[0 0],'Color','r') 
6 голосов
/ 11 ноября 2011

Вы можете получить этот диапазон х сразу после создания фигуры.Это выглядит примерно так:

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')

enter image description here

Обратите внимание, что если вы делаете какое-либо ручное масштабирование на рисунке, линию, возможно, придется перерисовать, чтобы перейти черезВесь новый диапазон х.

6 голосов
/ 11 ноября 2011

Я не верю, что есть встроенный способ, который более удобен. Я использую hline() и vline() из FileExchange, которые работают как шарм:

http://www.mathworks.com/matlabcentral/fileexchange/1039

0 голосов
/ 26 марта 2019

Начиная с MATLAB R2018b для этой цели существует yline:

 yline(0)

рисует горизонтальную линию на y==0.

0 голосов
/ 17 сентября 2015
  1. Нарисуйте свои данные командой plot() или stem().Откроется окно рисунка.
  2. Затем в окне рисунка щелкните команду [insert] в строке меню
    , появится раскрывающееся меню.
  3. Из этого менющелкните по команде [line], теперь форма курсора
    изменится на знак плюс.
  4. Теперь вы можете нарисовать линию где угодно, горизонтальную или
    вертикальную или наклонную.
  5. Вы можете изменить свойства строки, щелкнув правой кнопкой мыши на строке
    , появится меню, из которого вы можете выбрать свои свойства
    .
  6. Если вы хотите иметьнекоторые отметки в строке, затем вы можете использовать опцию добавления текста и размещать текст там, где вы хотите.
  7. Если вы хотите иметь код для вашей фигуры, нажмите меню [файл], а затем нажмите [generatecode], откроется новое окно текстового редактора
    , вы можете сохранить этот код для дальнейшего использования.Удачи.
...