Re: Labelling each curve and changing grid in ParametricPlot
- To: mathgroup at smc.vnet.net
- Subject: [mg129650] Re: Labelling each curve and changing grid in ParametricPlot
- From: "djmpark" <djmpark at comcast.net>
- Date: Sun, 3 Feb 2013 02:44:02 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <10882329.10368.1359786161991.JavaMail.root@m06>
Ed,
This is a little difficult because the curves are so closely spaced. One has
to make the plot rather large to identify the labels with the curves. In the
following example I put the labels all at the end of the curves and labeled
only every other one. I also put Tooltips on the curves in case it is being
viewed in a notebook.
I don't understand what you mean by having the Grid based on Omega. I just
drew a grid but make it very light and avoided the Dashed style (a al
Tufte).
<< Presentations`
plot[\[Tau]_, \[CapitalOmega]_] :=
Module[{arg, abs}, {arg, abs} =
Factor[Together[
ComplexExpand[
Through[{Arg,
Abs}[(1 + I*2*\[CapitalOmega])/(1 +
I*2*\[Tau]*\[CapitalOmega])]]]]];
{arg/Degree, 20*Log10[abs]}]
Draw2D[
{ParametricDraw[
Tooltip[plot[#, \[CapitalOmega]], #], {\[CapitalOmega], -0.5,
0.01}] & /@ {7, 8, 9, 10, 11, 12, 13, 14, 15},
Text[Framed[Style[phrase["\[Tau] = ", #], 12], FrameMargins -> 0],
plot[#, -0.5], {1, 0}, Background -> White] & /@ {8, 10, 12, 14}},
AspectRatio -> 1,
Frame -> True, FrameLabel -> {"phase/\[Degree]", "db"},
RotateLabel -> False,
GridLines -> {CustomGridLines[# &, {-10, 60, 10}, {LightGray}],
CustomGridLines[# &, {-20, 0, 5}, {LightGray}]},
BaseStyle -> {FontSize -> 12},
ImageSize -> 600]
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/index.html
From: Eduardo M. A. M. Mendes [mailto:emammendes at gmail.com]
Hello
I wonder whether someone out there could help me with the following problem.
plot[\[Tau]_, \[CapitalOmega]_] := Module[{arg, abs},
{arg, abs} = Factor[Together[ComplexExpand[
Through[{Arg, Abs}[(1 + I*2*\[CapitalOmega])/(1 +
I*2*\[Tau]*\[CapitalOmega])]]]]];
{arg/Degree, 20*Log10[abs]}]
ParametricPlot[Table[plot[\[Tau], \[CapitalOmega]], {\[Tau], {7, 8, 9, 10,
11, 12, 13, 14, 15}}],
{\[CapitalOmega], -0.5, -0.01}, AspectRatio -> 1, GridLines -> Automatic,
GridLinesStyle -> Dashed, ImageSize -> Large]
I need to label each curve with the value of tau and, instead of the normal
grid, a grid based on the values of Omega.
I saw something related to the label problem on the net but could not figure
out how to change it to my case. Something with Epilog.
Many thanks
Ed