shift a plot in the vertical direction?
30 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
How can I shift a plot in the vertical direction?
1 commentaire
Image Analyst
le 23 Nov 2013
Here is what Shani asked, so that it will still be here when she deletes this question:
How can I shift a plot in the vertical direction?
Réponses (2)
Azzi Abdelmalek
le 21 Nov 2013
Modifié(e) : Azzi Abdelmalek
le 21 Nov 2013
k=2
plot(y+k)
%or
plot(x,y+k)
2 commentaires
Azzi Abdelmalek
le 21 Nov 2013
Modifié(e) : Azzi Abdelmalek
le 21 Nov 2013
This is the code, just try it
HJ
le 21 Nov 2013
It's not the most elegant solution, but you could use handles to simply slide all the coordinates in one direction. For example:
% Plot twenty random points
plot(100*rand(1,20),'o');
axis([0 20 0 100]);
% Get coordinates of all objects in plot (note that you
% won't need to do this if you keep track of the handle
% of each point as you plot it...
plotObjects = get(gca, 'Children');
% Shift all points in the Y directon
offset = 5;
set(plotObjects, 'YData', get(plotObjects, 'YData') + offset);
If you run that last set command multiple times, you should see your points gradually shifting up and out of view.
1 commentaire
HJ
le 22 Nov 2013
More than half of what I posted is comments. The code part is really quite short.
In any case, the "right" approach (if there is such a thing) depends on what you're trying to do. If you just want to plot an existing bunch of numbers with an offset, then yes, Azzi's approach will work just fine. If you want to shift things on an existing plot, then the handle graphics stuff is a good way to do it.
Voir également
Catégories
En savoir plus sur Graphics Object Programming 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!