This question is closed. Reopen it to edit or answer.

How can I have thicker axis lines on only certain values using surfc?

1 view (last 30 days)
I'm using surfc to plot a 42x42 graph, which is then viewed from the top down. There is a meaningful difference between every 7 values, and as such I would like the x and y axis lines to be thicker for every 7th value (i.e. 7,14,21,28...). This would create a 7x7 grid within the 42x42. Is there an easy way to do this?

Answers (1)

Ben11 on 28 Jul 2014
Edited: Ben11 on 28 Jul 2014
Here is a simple way, drawing line objects at evenly spaced locations on your axis. I generate a dummy 2D plot but you can do the same with your surfc plot:
x = 1:15*pi; % dummy data to plot
A = 0:7:42; % generate regularly spaced values.
xlim = get(gca,'XLim'); % get axis x limits
ylim = get(gca,'YLim'); % get axis y limits
hold all
for k = 1:7 % number of lines
line('XData',[A(k) A(k)],'YData',[ylim(1) ylim(2)],'LineWidth',1.5);% vertical lines
line('XData',[xlim(1) xlim(2)],'YData',[A(k) A(k)],'LineWidth',1.5); %
set(gca,'XLim',[0 42],'YLim',[0 42],'XTick',0:7:42,'YTick',0:7:42);
hold off
This results is the following:
Hope that helps! Note that you can also use
grid on
to visualize dotted gridlines.
If it's not what you meant please ask!

Community Treasure Hunt

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

Start Hunting!

Translated by