%% Multiple Line plots % Examples of: % % subplots % % Drawing multiples lines; % % LineSpec changes (colors, dashed lines, etc.) % % Note that linspace returns a row vector. % To draw multiple lines at once, the arrays must be [Npoints, Nlines], % so each line must be a column vector, hence the transpose of the linspace % return. x = linspace(0, 2*pi, 200)'; y1 = sin(x); y2 = cos(x); subplot(3,1,1); plot(x,y1,x,y2); subplot(3,1,2); plot(x, [y1, y2], ':'); subplot(3,1,3); plot(x, y1, 'r'); hold on; plot(x, y2, '--g', 'LineWidth', 2); hold off; %% Multiple Line plots, with Annotations. % Examples of: % % Legend, axis labels, titles % % Font Size changes % % Cell array containing the plot labels. x = linspace(0, 2*pi, 200)'; y1 = cos(x); y2 = cos(2*x); yr = randn(200,1); subplot(2,1,1) plot(x, [y1, y2, yr]); data_names = [{'cos(x)'}, {'cos(2x)'}, {'random numbers'}]; legend(data_names) title('Plot Examples', 'FontSize', 18); xlabel('Phase (radians)'); ylabel('Amplitude'); subplot(2,1,2) plot(x, [y1, y2, yr]); set(gca(), 'FontSize', 14) legend(data_names) title('Plot Examples'); xlabel('Phase (radians)') ylabel('Amplitude'); %% Log Line plots, with TeX-like symbols % examples of: % % log scaling % % math symbols, subscript/superscript % % text annotations x = linspace(1, 100, 100)'; y1 = 2*x.^-3.6; subplot(311); plot(x, y1); set(gca(), 'FontSize', 14); title('plot (linear x axis, linear y axis)') legend('y = \alpha_0 x^{\alpha_1}') subplot(312); semilogy(x, y1); set(gca(), 'FontSize', 14); title('semilogy (linear x axis, logarithmic y axis)') legend('y = \alpha x^{\beta}') subplot(313); loglog(x, y1); set(gca(), 'FontSize', 14); title('loglog (logarithmic x axis, logarithmic y axis)') text(10, 1.5, 'y = \alpha x^{\beta} is linear on log-log axes') %% Bar plots, error bars % examples of: % % bar plots for a histogram; % % error bars overplotted % x = randn(100,1); bins = linspace(-5,5,21)'; xhist = hist(x,bins); subplot(2,2,1); bar(bins, xhist); title('Histogram of Normal random values', 'FontSize', 14); xlim([-5 5]) subplot(2,2,2); stairs(bins, xhist); title('Histogram of Normal random values', 'FontSize', 14); xlim([-5 5]) t = linspace(1,4,30)'; yerror = ones(30,1); yerror(10:20)=4; ymeasured = t.^2 + yerror.*randn(30,1); ytheoretical = t.^2; subplot(2,1,2); plot(t, ytheoretical); title('Error Bars', 'FontSize', 14); hold on; errorbar(t, ymeasured, yerror, '.'); hold off