РЕДАКТИРОВАТЬ: Я изначально забыл горизонтальную пунктирную линию. Добавил это.
Вам просто нужно два крошечных дополнения:
x = [10 50 150 3000];
y = [.6 .754 .853 .954];
xv = [1 2 3 4];
stem(xv, y);
xlim([min(xv)-1 max(xv)+1]); % <--
set(gca, 'xtick', xv); % <--
set(gca, 'xticklabel', x);
Вам (также) необходимо явно установить параметр xtick
, чтобы рисовались только эти галочки, а не другие.
С помощью xlim
вы можете управлять пределами оси X. (Левая и правая границы могут быть изменены в соответствии с вашими потребностями.)
Чтобы добавить горизонтальную пунктирную линию, просто добавьте следующее в конце:
hold on;
plot([min(xv)-1 max(xv)+1], [1 1], 'k--');
hold off;
(Начальная и конечная точки линии могут быть изменены в соответствии с вашими потребностями.)
Начиная с Matlab R2018b, вы также можете использовать yline
.
Выходные данные выглядят так: