Couple of things going on here. When using the various plotting functions, you need to understand that the "body", the first argument, is held unevaluated. It's kept as the sort of template expression that will be evaluated at various points in the specfied range. Then next thing to understand is that the typical behavior of plotting functions when you give them a list is to treat it as multiple, independent plots.
So, in this example
PolarPlot[{Abs[Exp[I \[Omega]]],Arg[Exp[I \[Omega]]]},{\[Omega],0,\[Pi]/2}]
You should expect to get two plots (distinguished by color). And this is indeed what you get.
In this example
PolarPlot[{AbsArg[Exp[I \[Omega]]]},{\[Omega],0,\[Pi]/2}]
there is only one "thing" in the body, so it thinks it's going to plot a single plot. That's why there is only one color in the result. By the way, the {}
are superfluous, as AbsArg
returns a list. Now, you can force something to evaluate that would otherwise be held. You do this with Evaluate
. So, you can reproduce the first plot like this:
PolarPlot[Evaluate[AbsArg[Exp[I \[Omega]]]], {\[Omega], 0, \[Pi]/2}]
Now when PolarPlot
goes to work, it "sees" two things.
Having said all of that, I'm not sure what plot you were trying to create, so I'm not sure what the "preferred way" is.