compass plot offsetting the origin

I would like to know if there is a way of offsetting the center of a compass plot, so that the vectors don't emanate from the center but rather from another pre-defined position. As I have two sets of data to be displayed on the same plot and sometimes these overlap, leaving one of the vectors completely covered.

Réponses (1)

Andrew Newell
Andrew Newell le 5 Mar 2012

0 votes

You could make a couple of subplots:
subplot 211
compass(...)
subplot 212
compass(...)
EDIT: However, if you really want them on the same plot, here is an example of how to do it:
% Generate data sets for example
Z1 = eig(randn(20,20));
h1 = compass(Z1);
hold on
Z2 = eig(randn(20,20));
h2 = compass(Z2);
% Offset the second set of data in the x direction
offset = 1;
for ii=1:20
set(h2(ii),'Color','r') % Change color so you can tell the data sets apart
x = get(h2(ii),'XData');
set(h2(ii),'XData',x+offset)
end

1 commentaire

Filipe Ribeiro
Filipe Ribeiro le 12 Oct 2016
Thanks. You know how can offset in y direction as well?

Connectez-vous pour commenter.

Catégories

En savoir plus sur 2-D and 3-D Plots dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by