vertical line on x axis
5 次查看(过去 30 天)
显示 更早的评论
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])![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1526326/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1526326/image.jpeg)
How can I add vertical line at the level s* from 0 to the black line?
Thank you,
0 个评论
采纳的回答
Voss
2023-11-1
x = 3;
y = interp1(a1,x1,x);
line([x,x],[0,y])
4 个评论
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
.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1526486/image.png)
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
x1 = linspace(8, 78, numel(a1)); % hypothetical data
x1e = [min(x1) max(x1)] % extrema of x1
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 Center 和 File Exchange 中查找有关 Discrete Data Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!