How to change the position of a subplot?
Show older comments
Hi there, I'm trying to use scrollsubplot to allow me display a series of plots that I can scroll through. It works fine, but for some reason I can't seem to change the position details of the subplots, which I'm trying to do to make the elements of each subplot fit better. The first time I try ax.Position=[.55, .2, .4, .7]; it works, but subsequent attempts to try something similar seem to be using the same location as the first. New to Matlab so apologies if this is a silly question, but has anyone managed to modify subplots graphed onto scrollsubplots? thanks very much
%Create a blank figure
f = figure;
f=gcf;
f.Units='normalized';
%[left bottom width height]
f.OuterPosition=[0 0 .88 .45];%is controlling the outer box around the figure
scrollsubplot(1,2,1)
ts0 = timeseries(E4_hrX(startIndex:endIndex));
plot(ts0)
t = title('Parent Motif (time series per second)', 'FontSize',25);
ax = gca;%current axis or chart
ylabel('Heart Rate','FontSize',25)
xlabel('Time in Seconds','FontSize',25)
ax.XAxis.FontSize = 17;
ax.YAxis.FontSize = 25;
scrollsubplot(1,2,2)
%display a histogram
h = histogram( categorical( emotions{startIndex:endIndex,:} ) )
t = title('Emotion Distribution', 'FontSize',25);
text(1:numel(h.Values), h.Values, num2str(h.Values.'), ...
'HorizontalAlignment', 'Center', 'VerticalAlignment', 'Bottom', 'FontSize',25);
ax = gca;
ax.XAxis.FontSize = 17;
ax.YAxis.FontSize = 25;
ylabel('Cumulative Observations','FontSize',25)
%[left bottom width height]
ax.Position=[.55, .2, .4, .7];%is controlling the outer box around the figure
row = 2
for i=1:length(motifIndexAfterThresholds)
motifs=motifIndexAfterThresholds(i);
scrollsubplot(1,2,row+1)
ts0 = timeseries(E4_hrX(motifs:motifs+motifSize),'Name',strcat('BestMotif ', num2str(i), ' '));
plot(ts0)
t = title('Child Motif (time series per second)', 'FontSize',26);
ax = gca;
%[left bottom width height]
ylabel('Heart Rate','FontSize',25)
xlabel('Time in Seconds','FontSize',25)
ax.XAxis.FontSize = 17;
ax.YAxis.FontSize = 25;
row=row+1;
scrollsubplot(1,2,row+1)
h = histogram( categorical( emotions{motifIndexAfterThresholds(i):motifIndexAfterThresholds(i)+motifSize,:} ) )
text(1:numel(h.Values), h.Values, num2str(h.Values.'), ...
'HorizontalAlignment', 'Center', 'VerticalAlignment', 'Bottom','FontSize',25);
t = title('Emotion Distribution', 'FontSize',25);
ax = gca;
ax.XAxis.FontSize = 17;
ax.YAxis.FontSize = 25;
ylabel('Cumulative Observations','FontSize',25)
%xlabel('Emotions','FontSize',26)
%[left bottom width height]
ax.Position=[.55, .2, .4, .7];%is controlling the outer box around the figure
row=row+1;
end
Answers (0)
Categories
Find more on Subplots 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!