# How can I incorporate the angle of orientation in my colourmap?

3 views (last 30 days)
Sam on 1 Feb 2022
Commented: Turlough Hughes on 1 Feb 2022
Hi,
I am currently producing colourmaps for my degree of orientation data. This data varies between 0-180 degrees. Producing colormaps works nicely, however, I am thinking there might be a better way to demonstrate angle.
Is it possible for each data point to be a line, which represents the angle at said data point? i.e. at 180 degrees, it is a vertical line.
This is my current code for my colormap:
%Import the data in from excel
% Reshape the intensity vector into a matrix
[xUnq,~,xIdx] = unique(num(:,1));
[yUnq,~,yIdx] = unique(num(:,2));
zMat = nan(numel(yUnq),numel(xUnq));
zIdx = sub2ind(size(zMat),yIdx,xIdx);
zMat(zIdx) = num(:,3);
% Plot contour
contourf(xUnq,yUnq,zMat)
pcolor(xUnq,yUnq,zMat)
colorbar
% Label colour bar
c = colorbar;
c.Label.String = ('Degree of Orientation (\theta)');
ylabel('\mu m')
xlabel( '\mu m')
title('title')
I have attached some example data I have been playing with:

Turlough Hughes on 1 Feb 2022
To represent the orientations with arrows, you could a quiver plot as follows:
%Import the data
figure()
theta = data(:,3);
quiver(data(:,1),data(:,2),cosd(theta),sind(theta),'LineWidth',2, ...
'AutoScaleFactor', 0.6)
ylabel([char(181) 'm']) % char(181) is just a preference
xlabel([char(181) 'm'])
title('Orientation Map')
set(gca,'FontSize',14) ##### 2 CommentsShowHide 1 older comment
Turlough Hughes on 1 Feb 2022
You can scale the third and fourth inputs to quiver as follows:
figure()
theta = data(:,3);
s = 0.4;
quiver(data(:,1),data(:,2),s*cosd(theta),s*sind(theta),'LineWidth',2, ...
axis equal
ylabel([char(181) 'm']) % char(181) is just a preference
xlabel([char(181) 'm'])
title('Orientation Map')
set(gca,'FontSize',14) ### Categories

Find more on Data Distribution Plots in Help Center and File Exchange

R2020b

### Community Treasure Hunt

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

Start Hunting!