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$