How do you add a header to a printed figure?
29 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Carl Hopkins
am 23 Mai 2017
Beantwortet: Sean de Wolski
am 14 Mai 2021
Suppose you wanted to write a script to make several pages of figures each with several small subplots that could be used as thumbnails. When done, you would like to print the figures each with a header containing the page number and the number of pages of similar plots. For example:
for page = 1:3
figure (page)
clf
for sub = 1:9
subplot(3,3,sub)
plot(1:100,rand(1,100))
end
set(gcf,'PaperPosition',[.25 .25 8 10])
% add page header here
end
and you want to put a header on the page like this
3 Kommentare
Adam Danz
am 14 Mai 2021
If you're using tiledlaytout (Matlab R2019b and later), you can assign the title to the tiledlayout object.
figure
tlo = tiledlayout(3,3);
nexttile; nexttile; nexttile;
nexttile; nexttile; nexttile;
nexttile; nexttile; nexttile;
title(tlo, 'Global Title', 'FontWeight','Bold','FontSize',18)
Akzeptierte Antwort
Weitere Antworten (3)
Jan
am 23 Mai 2017
Add a text to an invisible axes covering the complete figure:
AxesH = axes('Units', 'Normalized', 'Position', [0,0,1,1], 'Visisble', 'off', ...
'NextPlot', 'add');
text(0.5, 0.99, 'Your figure title', 'Parent', AxesH, ...
'Units', 'normalized', ...
'VerticalAlignment', 'top', 'HorizontalAlignment', 'center');
Sean de Wolski
am 14 Mai 2021
You can use the MATLAB Report Generator to build sophisticated reports with whatever formatting, chapters, sections, etc. you need. A trivial example:
import mlreportgen.report.*
import mlreportgen.dom.*
r = Report('figs', 'pdf');
t = Text("Figures:");
t.Style = {Bold, FontSize('24pt')};
add(r, t);
for ii = 1:3
plot(sin(1:(2^(ii+1))))
add(r, Figure);
end
close(r)
% rptview(r)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Graphics Object Properties 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!