I am working with an external "number-crunching" application that generates radiation patterns for antennas. The data that I am working with is a function of spherical angles theta and phi and it produces numbers in the range of 0 through some maximum value. I want to plot using PolarPlot to show a "scaled" tick mark where the scaling is the result of some function that I write to do the proper transformation. So, here is an example [below, phi is controlled externally and sometimes via Manipulate[]).
PolarPlot[ gdb[180/Pi (Abs[Pi/2 - theta]), phi], {theta, 0, Pi}, PolarAxes -> True, PolarTicks -> {"Degrees", Automatic}, PolarGridLines -> Automatic, PlotRangeClipping -> False, PolarAxesOrigin -> Automatic] And, this is the resultant plot:
Now, the PolarAxesOrigin option given Automatic generates the axes labeled from 20 thru the maximum of 80. However, for this same plot, the only change I want (in this example) is to scale that axes tick mark labels as 0.0 for the 80 tick mark label and then the inner concentric circles would be -10, -20, -30, -40, and so on. Thus, the labeling are all negative numbers with zero as the maximum range on the PolarAxesOrigin.
I have researched various posted questions here and experimented using scaling features, tick functions, and other things (merely guessing) to figure out how to achieve this and nothing works right. I am hoping that I can provide some kind of function that can do a transformation from the plotted values to some scaled tick mark labels. Changing the data itself to be negative does not work, the resultant plot is not correct.






gdb. So anyone who might want to help can't reproduce your problem, which greatly reduces the chance that you get an answer. $\endgroup$