How to create a vertical offset line

2 views (last 30 days)
Please urgently if possible I need to solve the following problem
An equation give me graph of some layers at depths z1, z2, z3, and z4 (see attached figure), and I need to break them down (vertical offset) with a constant = z2-z1= z3-z2=z4-z3 (if satisfying this condition), in addition to drowing a vertical line (red line in satisfied location)

Accepted Answer

Star Strider
Star Strider on 30 Sep 2022
Try something like this —
zv = sort(rand(4,1)) % Define 'z' Values
zv = 4×1
0.0231 0.1089 0.3493 0.7581
const = rand % Define Constant Offset
const = 0.0537
plot([0 1], zv*[1 1], '-k', 'LineWidth',1.5)
hold on
plot([1 2], (zv-const)*[1 1], '-k', 'LineWidth',1.5)
hold off
xline(1, '-r', 'LineWidth',2)
linelabels = compose('z%d',numel(zv):-1:1);
text(zeros(size(zv)), zv, linelabels, 'Horiz','left', 'Vert','bottom')
text(zeros(size(zv))+2, zv-const, linelabels, 'Horiz','right', 'Vert','bottom')
set(gca, 'Visible','off') % Hide Axes (Optional)
Define the the ‘zv’ vector as a column vector of increasing values, and define the constant (‘const’) as a single scalar.

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 30 Sep 2022
Try xline and yline. You can use the 'LineWidth' and 'Color' option to set up the line thickness and color.
Image Analyst
Image Analyst on 30 Sep 2022
If the line is not going all the way across the graph, you can use line or plot() to specify the endpoints at whatever x and y values you want, so you'll get line segments.

Sign in to comment.


Find more on Formatting and Annotation in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!