Clear Filters
Clear Filters

How to create a vertical offset line

6 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.
Moustafa Abedel Fattah
Moustafa Abedel Fattah on 30 Sep 2022
Thank you Star Strider for your always quick response ... well done

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.

Community Treasure Hunt

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

Start Hunting!