Different tick values on same axis
    8 次查看(过去 30 天)
  
       显示 更早的评论
    
I want to use xticks using different steps. From a to a+g the step dxs, from a+g to b-g the step dxf and from b-g to b again the step dxs. Can it be used in the same command? Thank you in advance.
a=0;
b=4;
c=0;
d=6;
g=1;
dxs=0.2;
dxf=0.25;
dy=0.5;
figure(1)
plot([a b b a a],[c c d d c])
hold on
axis([a-1 b+1 c-1 d+1])
hold on
plot([a+g b-g b-g a+g a+g],[c c d d c])
hold on
axis([a+g-1 b-g+1 c-1 d+1])
grid on
axis tight
axis equal
xticks([a:dxs:a+g])
yticks([c:dy:d])
0 个评论
采纳的回答
  Star Strider
      
      
 2023-1-4
        
      编辑:Star Strider
      
      
 2023-1-4
  
      See if the xticks call in: 
xticks([a+g:dxf:b-g (b-g+dxs):dxs:b])
does what you want — 
a=0;
b=4;
c=0;
d=6;
g=1;
dxs=0.2;
dxf=0.25;
dy=0.5;
figure(1)
plot([a b b a a],[c c d d c])
hold on
axis([a-1 b+1 c-1 d+1])
hold on
plot([a+g b-g b-g a+g a+g],[c c d d c])
hold on
axis([a+g-1 b-g+1 c-1 d+1])
grid on
axis tight
axis equal
xticks([a:dxs:a+g (a+g)+dxf:dxf:b-g (b-g)+dxs:dxs:b])                   % NEW
Check = xticks                                          % Check Values (Optional)
% xticks([a:dxs:a+g])
yticks([c:dy:d])
The xticks argument values have to increase, so two adjacent values of (b-g) are not permitted.  
.
更多回答(1 个)
  Bora Eryilmaz
    
 2023-1-4
        
      编辑:Bora Eryilmaz
    
 2023-1-4
  
      You can generate a ticks vector, which should be sorted and with unique elements:
a=0;
b=4;
c=0;
d=6;
g=1;
dxs=0.2;
dxf=0.25;
dy=0.5;
figure(1)
plot([a b b a a],[c c d d c])
hold on
plot([a+g b-g b-g a+g a+g],[c c d d c])
grid on
axis tight
axis equal
% Set axis limits
ax = gca;
ax.XLim = [a b];
ax.YLim = [c d];
% Ticks vectors
x_ticks = unique([a:dxs:(a+g), (a+g):dxf:(b-g), (b-g):dxs:b], 'stable');
xticks(x_ticks)
yticks([c:dy:d])
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Axis Labels 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





