compass plot offsetting the origin

4 views (last 30 days)
Axel Grzy
Axel Grzy on 5 Mar 2012
Commented: Filipe Ribeiro on 12 Oct 2016
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.

Answers (1)

Andrew Newell
Andrew Newell on 5 Mar 2012
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 Comment
Filipe Ribeiro
Filipe Ribeiro on 12 Oct 2016
Thanks. You know how can offset in y direction as well?

Sign in to comment.

Categories

Find more on 2-D and 3-D Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!