Break in the axis
663 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Niles Martinsen
le 2 Juil 2012
Réponse apportée : yanan LIU
le 29 Fév 2020
Hi
I have a plot of data points (x, y). The issue is that one of the first data points has a very large amplitude, whereas the rest of the data points have very small magnitudes. So what I thought that I wanted to do is to make a "cut" in the y-axis, such that it goes from 0..1 and then skips to 100..105. Perhaps with a mark such as this "----//----" in between.
Is that possible in MatLAB?
Best, Niles.
Réponse acceptée
Plus de réponses (3)
yanan LIU
le 29 Fév 2020
There is no direct function as I know.
But you can try to plot the double line on your figure.
for example,
x=1:10;
y=sin(x);
plot(x,y,'k*-','LineWidth',1.5,'MarkerSize',8);
axes('Position',[.1 .78 .05 .05]);
px=[1 5];
py1=[1 2];
height=1;
py2=py1+height;
plot(px,py1,'k','LineWidth',2);hold all;
plot(px,py2,'k','LineWidth',2);hold all;
fill([px flip(px)],[py1 flip(py2)],'w','EdgeColor','none');
box off;
axis off;
Then you can get the follow figure.
0 commentaires
Philippe Lebel
le 22 Août 2018
https://www.mathworks.com/matlabcentral/fileexchange/3683-breakxaxis
It does EXACTLY what you want to do.
1 commentaire
Voir également
Catégories
En savoir plus sur Graphics Performance dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!