Inset Plots in MATLAB®
How to make Inset Plots plots in MATLAB® with Plotly.
Simple Inset Graph
trace1 = struct(...
'x', [1, 2, 3], ...
'y', [4, 3, 2], ...
'type', 'scatter');
trace2 = struct(...
'x', [20, 30, 40], ...
'y', [30, 40, 50], ...
'xaxis', 'x2', ...
'yaxis', 'y2', ...
'type', 'scatter');
data = {trace1, trace2};
layout = struct(...
'yaxis2', struct(...
'domain', [0.6, 0.95], ...
'anchor', 'x2'), ...
'xaxis2', struct(...
'domain', [0.6, 0.95], ...
'anchor', 'y2'));
plotly(data, struct('layout', layout));
Multiple Inset Graphs
t = linspace(0,2*pi);
t(1) = eps;
y = sin(t);
fig = figure;
handaxes1 = axes('position', [0.1 0.1 0.8 0.8]);
plot(t, y);
xlabel('t'); ylabel('sin(t)');
set(handaxes1, 'box', 'off');
handxlabel1 = get(gca, 'xlabel');
set(handxlabel1, 'fontsize', 16, 'fontweight', 'bold');
handylabel1 = get(gca, 'ylabel');
set(handylabel1, 'fontsize', 16, 'fontweight', 'bold');
handaxes2 = axes('position', [0.6 0.6 0.2 0.2]);
fill(t, y.^2, 'g');
set(handaxes2, 'box', 'off');
xlabel('t'); ylabel('(sin(t))^2');
set(get(handaxes2, 'xlabel'), 'fontname', 'times')
set(get(handaxes2, 'ylabel'), 'fontname', 'times')
handaxes3 = axes('position', [0.25 0.25 0.2 0.2]);
plot(t, y.^3);
set(handaxes3, 'box','off');
xlabel('t'); ylabel('(sin(t))^3');
fig2plotly(fig);