필터 지우기
필터 지우기

vertical line on x axis

조회 수: 3 (최근 30일)
Raushan
Raushan 2023년 11월 1일
편집: Voss 2023년 11월 1일
subplot(1,3,2)
plot(a1,x1, 'black', a1, y1, 'r', a1,z1, 'b',LineWidth=5);
title('Consumption level, T=10')
xticks([0 1 2 3 4 5 6 7 8 9])
xticklabels({'0' '1' '2' '\color{red}S^*' '4' '5' '6' '7' '8' '9'})
ylim([60,90])
How can I add vertical line at the level s* from 0 to the black line?
Thank you,

채택된 답변

Voss
Voss 2023년 11월 1일
x = 3;
y = interp1(a1,x1,x);
line([x,x],[0,y])
  댓글 수: 4
Raushan
Raushan 2023년 11월 1일
thank you, it doesn't work, i don't have infinite one
Sam Chak
Sam Chak 2023년 11월 1일
All you have to do is to provide the data for a1 and x1. We will figure out what the issue is.
If both a1 and x1 are in the Workspace, then save them to a MAT-file, using this syntax
save('RaushanData', 'a1', 'x1')
Once completed, attach the MAT-file (RaushanData.mat) using the paperclip icon .
By the way, both approaches by @Voss and @Star Strider work when the all elements in the data are finite.
a1 = 0:9; % hypothetical data
a1e = [min(a1) max(a1)] % extrema of a1
a1e = 1×2
0 9
x1 = linspace(8, 78, numel(a1)); % hypothetical data
x1e = [min(x1) max(x1)] % extrema of x1
x1e = 1×2
8 78
xq = 3; % from S* mark (query point)
yq = interp1(a1e, x1e, xq); % interpolate
% Plot data (black line)
plot(a1, x1, 'black', LineWidth=5);
xticks([0 1 2 3 4 5 6 7 8 9])
xticklabels({'0' '1' '2' '\color{red}S^*' '4' '5' '6' '7' '8' '9'})
hold on
% Plot vertical line (red)
plt = line([xq, xq], [0, yq]); % primitive line drawing
plt.LineWidth = 5;
hold off
title('Consumption level, T=10')

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

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