Filter löschen
Filter löschen

Sub-plots with multiple coordinate system (y-axes)

8 Ansichten (letzte 30 Tage)
SS
SS am 15 Mai 2020
Bearbeitet: SS am 15 Mai 2020
I want to plot these four figures having secondary y-axis (attached) as sub-plots, in 2 rows and 2 columns. My code plots only one set of data from each figure. What are the corrections to the code below to make it work for secondary y-axes?
I have problem with the y-ticks, ylabels and ylimits. I have mentioned the details in the code below. I want the Ylim[0,2] for left y-axis and Ylim[0,5] for right y-axis.
Any help will be appreciated.
Dir = 'D:\Expt_Results\'
prefix='plot_';
BinSuffix=[1:4];
% Load figures into handles
for j = 1:1:length(BinSuffix)
h(j) = openfig([Dir prefix num2str(BinSuffix(j)) '.fig'],'reuse');
ax(j) = gca;
end
% Subplot loop
Fig_dim=[13 12];
hf = figure('Units','inches','Position',[0 0 Fig_dim]);
row_count = 0;
sp_count = 0;
no_rows=2;
no_cols=2;
for i = 1:length(BinSuffix)
fig = get(ax(i),'children');
s(i) = subplot(no_rows,no_cols,i);
copyobj(fig,s(i));
sp_count = sp_count + 1;
sp(sp_count) = s(i);
end

Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 15 Mai 2020
Try this code
BinSuffix = 1:4;
% Load figures into handles
h = gobjects(1, numel(BinSuffix));
ax = gobjects(1, numel(BinSuffix));
for j = 1:1:length(BinSuffix)
h(j) = openfig(['plot_' num2str(j)]);
ax(j) = gca;
end
%%
fig = figure;
ax_new = gobjects(1, numel(BinSuffix));
for i=1:numel(ax)
ax_new(i) = subplot(2,2,i);
yyaxis(ax_new(i), 'left');
yyaxis(ax(i), 'left');
LineLeft = ax(i).Children;
copyobj(LineLeft, ax_new(i));
ax_new(i).YLim = [0 2];
yyaxis(ax_new(i), 'right');
yyaxis(ax(i), 'right');
LineRight = ax(i).Children;
copyobj(LineRight, ax_new(i));
ax_new(i).YLim = [0 5];
end
  4 Kommentare
SS
SS am 15 Mai 2020
Bearbeitet: SS am 15 Mai 2020
Thanks a lot.
Ameer Hamza
Ameer Hamza am 15 Mai 2020
I am glad to be of help.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Graphics Object Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by