plotwithLabel = Plot[x, {x, 1, 2}, PlotLabel -> "This is Label"]; PlotLabel /. Cases[plotwithLabel, _Rule, All] >"This is Label" If you look at the output of e.g. `SequenceForm@ InputForm@ plotwithLabel`, you will see the internal representation of the plot as a `Graphics` object. You will note that it contains many options expressed as `Rule`s (i.e. `OptionName -> optionValue`, like maybe `PlotRange -> All`). Such expressions are actually represented as `Rule[PlotRange, All]` in their native form, so they have head `Rule`. My `Cases` expression extracts all possible `Rule[something, something]` expressions at `All` levels inside the plot's internal representation. It then uses them as replacement rules in a `ReplaceAll` expression (`/.`) to fish out the value of the one you are interested in, i.e. `PlotLabel`.