Slightly extending rcollyer's handy helper
(originally "BlockOptions") to TemporarilySet system function options via an operator form:
SetAttributes[TemporarilySet, HoldAll];
TemporarilySet[f : {_Symbol, ___?OptionQ | {___?OptionQ}}, body_] :=TemporarilySet[{f}, body]
TemporarilySet[f : {{_Symbol, ___?OptionQ | {___?OptionQ}} ...}, body_] :=
With[{fcns = f[[All, 1]]}, Internal`InheritedBlock[fcns, SetOptions @@@ f;body]];
TemporarilySet[stgs_] := With[{evalStgs = stgs},
Function[{body}, TemporarilySet[evalStgs, body], HoldAll]];
we can set up an environment
$PlotTheme = "Minimal";
graphs = {Histogram, BarChart, SmoothHistogram, PieChart, ListLinePlot};
graphEnv = {#, ImageSize -> Tiny} & /@ graphs;
in which certain graphs are Tiny
assoc = <|"a" -> 7, b -> 8, "c" -> 9|>;
Query[graphs]@assoc // TemporarilySet@graphEnv

but we might not want to be restricted to these particular graphs and since they all eventually use Graphics shouldn't we be able to set this at this lower level?
graphEnv = {Graphics, ImageSize -> Tiny};
Query[graphs]@assoc // TemporarilySet@graphEnv

Apparently not?





$PlotThemesuggests expandingTemporarilySetto include global variables so their effects don't linger ... and/or have$ImageSizeas a new global variably to get WL's function count that little higher. – Ronald Monson Jul 16 '15 at 07:03Graphicsoption is not grabbing. – Ronald Monson Jul 16 '15 at 07:09graphEnv = {{Plot, ImageSize -> Tiny}, {Graphics, ImageSize -> Tiny}}doesn't grab either - I want to setImageSize->Tinyonce, somewhere ... – Ronald Monson Jul 16 '15 at 07:21SystemOptions, which I always wanted toBlockin some way ... – Szabolcs Jul 16 '15 at 08:03Internal`InheritedBlockappears to fail onCell, meaningSetOptions[Cell, . . .]is not localized? – Mr.Wizard Jul 16 '15 at 08:04