Skip to main content
added 165 characters in body
Source Link
Sjoerd C. de Vries
  • 66.4k
  • 15
  • 192
  • 337

I feel the following satisfies your three requirements of 1) having the labels unevaluated, 2) logs in TraditionalForm, and 3) functions specified only once:

funs = Function[{expr}, Extract[expr, {1, #}, HoldForm] & /@ Range[Length[expr[[1]] ] ] ]@ Hold[ {x^(4/3), x*E^Sqrt[8 Log2[5/2]*Log2[x]], x^2, x^(3/2), x*Log2[x]^2} ]; LogPlot[funs // ReleaseHold // Evaluate, {x, 10, 1000000}, PlotLegends -> LineLegend[TraditionalForm /@ funs, LegendMarkers -> Automatic] ] 

Mathematica graphics

funs = Function[{expr}, Extract[expr, {1, #}, HoldForm] & /@ Range[Length[expr[[1]] ] ] ]@ Hold[ {x^(4/3), x*E^Sqrt[8 Log2[5/2]*Log2[x]], x^2, x^(3/2), x*Log2[x]^2} ]; LogPlot[funs // ReleaseHold // Evaluate, {x, 10, 1000000}, PlotLegends -> LineLegend[TraditionalForm /@ funs, LegendMarkers -> Automatic] ] 

Mathematica graphics

I feel the following satisfies your three requirements of 1) having the labels unevaluated, 2) logs in TraditionalForm, and 3) functions specified only once:

funs = Function[{expr}, Extract[expr, {1, #}, HoldForm] & /@ Range[Length[expr[[1]] ] ] ]@ Hold[ {x^(4/3), x*E^Sqrt[8 Log2[5/2]*Log2[x]], x^2, x^(3/2), x*Log2[x]^2} ]; LogPlot[funs // ReleaseHold // Evaluate, {x, 10, 1000000}, PlotLegends -> LineLegend[TraditionalForm /@ funs, LegendMarkers -> Automatic] ] 

Mathematica graphics

Source Link
Sjoerd C. de Vries
  • 66.4k
  • 15
  • 192
  • 337

funs = Function[{expr}, Extract[expr, {1, #}, HoldForm] & /@ Range[Length[expr[[1]] ] ] ]@ Hold[ {x^(4/3), x*E^Sqrt[8 Log2[5/2]*Log2[x]], x^2, x^(3/2), x*Log2[x]^2} ]; LogPlot[funs // ReleaseHold // Evaluate, {x, 10, 1000000}, PlotLegends -> LineLegend[TraditionalForm /@ funs, LegendMarkers -> Automatic] ] 

Mathematica graphics