I made this plot
LogLogPlot[{n!, 2^n, n^2, n Log[n], n, Log[n]}, {n, 1, 1000},
Frame -> True, FrameLabel -> {"Elements", "Operations"},
PlotLegends -> SwatchLegend["Expressions", LegendLabel -> "Functions",
LegendFunction -> (Framed[#, Background -> None] &)],
Background -> None]
Now I want to replace the legend with callouts labeling the traces, but I'm having some trouble:
funs = Callout[#, ToString@#, Above] & /@ {n!, 2^n, n^2, n Log[n], n, Log[n]};
LogLogPlot[Evaluate@funs, {n, E, 1000},
Frame -> True,
AxesLabel -> {"Elements", "Operations"},
Background -> None,
PlotRange -> {{E, 1000}}]
I'd like the callouts to be placed next to the function it calls out, not on top. Seems like none of the argument values for positioning the callout (Before, After, Above, Below) get this right.
Plot::invpr: Value of option PlotRange is not compatible with the option ScalingFunctions -> {{Log,Exp},{Log,Exp}}
$\endgroup$