No, it's not InputForm
. Consider this example:
p = Show[ListPlot[{1}, PlotLegends -> "1"], ListPlot[{2}, PlotLegends -> "2"]];
This is the output of p // InputForm
:
while this is what you'll see if you execute p
and select the output and press Ctrl+Shift+I:
Can I get the output of Ctrl+Shift+I with a function rather than keyboard shortcut?
What? Why I'm interested in such a boring question? Well, I encountered this when trying to do some direct modification on the legends. Try the following example:
data1 = Sin@Range[1, 10, 0.1];
data2 = Cos@Range[1, 10, 0.1];
pline = ListLinePlot[{data1, data2}, PlotLegends -> {"line1", "line2"}];
ppoint = ListPlot[{data1, data2}, PlotMarkers -> "0", PlotLegends -> {"point", "point2"}];
pjoin = Show[pline, ppoint];
pjoin /. Legended[Legended[a_, {Placed[b_, c__]}], {Placed[d_, e__]}] :>
Legended[a, Placed[Grid[{{b}, {d}}, Frame -> True], c]]
The last line added one frame for the different sorts of legends. Dirty, right? And it'll be dirtier if we have more sorts of legends. However, if the output of p
is baptized by Ctrl+Shift+I (actually you just need to copy and paste it) then a much simpler pattern can be used!:
(* copy and paste the graphics here *) /. Grid[a__] :> Grid[a, Frame -> True]
The resulted graphics is the same so I'd like to omit it here.