# How do I determine the scaling function on the axes of Plot-like functions?

I want to define a function like

AxisScaling[Plot] = {Identity, Identity};
AxisScaling[LogPlot] = {Log, Identity};
AxisScaling[LogLogPlot] = {Log, Log};
AxisScaling[ListPlot] = {Identity, Identity};
AxisScaling[ListLogPlot] = {Log, Identity};
AxisScaling[ListLogLogPlot] = {Log, Log};


except more programmatic. Looking at the manual suggests that I might want to somehow determine the default value for ScalingFunctions for each of these, and looking at G @@ ListPlot[{1}] vs G @@ ListLogPlot[{1}] vs G @@ ListLogLogPlot[{1}] suggests that I might want to look for ChartingScaledTicks in Ticks, or perhaps at Method->CoordinatesToolOptions->DisplayFunction (or perhaps CopiedValueFunction?). What's the right way to extract this information? (The ultimate reason I want this information is for How to get Callout and Text[...,Offset[...]] to use the same coordinate system in Mathematica 12?, to transform the coordinates from the Text in a plot output into coordinates I can input into Callout, so if it helps AxisScaling can take in the output of the plot function instead of the function itself.

• I need to understand your objective. Are you trying to find out what scaling has been applied to a plot or just what the function name was that made the plot? The function name tells you the form of the axis used in a plot.
– Hugh
Jan 7, 2021 at 12:01
• I'm trying to find out what function to apply to the coordinates used in Text inside a Graphics object so that I can pass them to Callout inside the plot-function that generated the Graphics object and have them show in the correct place. I eventually went for ("CopiedValueFunction"/.("CoordinatesToolOptions"/.(Method/.Options[G]))) for G the graphics object, but I'm open to better solutions if there are more correct ways to do this. Jan 10, 2021 at 2:37

AxisScaling[G_]:=("CopiedValueFunction"/.("CoordinatesToolOptions"/.(Method/.Options[G])))

works pretty well when I pass the output plot as the argument to AxisScaling`.