Re: Adding to a plot
- To: mathgroup at smc.vnet.net
- Subject: [mg126177] Re: Adding to a plot
- From: "djmpark" <djmpark at comcast.net>
- Date: Mon, 23 Apr 2012 05:41:29 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <24429194.29030.1335089809072.JavaMail.root@m06>
You could use DrawingTools (Ctrl+D). However I do not recommend that because it does not leave you with a permanent written specification of the graphic. If you wanted to change the initial ParametricPlot part you would have to redo all the hand-drawn parts. My experience is that custom graphics take quite a bit of adjustment to finally obtain the result you want and it is much better to work with a complete written specification that can be modified and reevaluated. The regular Mathematica paradigm for doing that is to use Epilog and Show but this is just awkward enough to deter a large fraction of Mathematica users. Items are not specified in a natural order and generally a great deal of graphics level jumping is necessary. The Presentations Application does allow you to work with a complete written specification and to simply draw one item after another in a natural way. Here is an example from the documentation showing how to produce a diagram showing the geometry for calculating a center of mass. The example uses custom scale lines with symbolic tick values, with the y axis on the right, and is highly commented to show how each item is drawn one after another. <<Presentations` Module[ {xloc = 1, (* Vertical integration slice location *) delx = .1, (* Depicted width of integration slice *) yloc, cmyloc}, (* Calculation of top and midpoint of integration slice *) yloc = (4 - xloc^2); cmyloc = yloc/2; (* The drawing statement *) Draw2D[ {(* Draw the parabola with filling to the axis. Notice that the Filling option affects how the parabola is drawn \ and must be in the Draw statement. *) Draw[4 - x^2, {x, -2, 2}, Filling -> Axis], (* Draw faint lines from the midpoint and top of slice to the \ vertical axis *) {LightGray, Line[{{xloc, cmyloc}, {2, cmyloc}}], Line[{{xloc, yloc}, {2, yloc}}]}, (* Draw the vertical integration slice in transparent blue *) {Opacity[.6, Legacy@RoyalBlue], Rectangle[{xloc - delx, 0}, {xloc + delx, yloc}]}, (* Mark the center of mass of the vertical slice *) CirclePoint[{xloc, cmyloc}, 2, Black, Blue], (* Draw the horizontal and vertical scales with symbolic points \ marked *) XSymbolicScale[{-2.2, 2.2, 0}, {-2.2, 2.2}, {{-2, -2}, {0, 0}, {xloc, x}, {2, 2}}], YSymbolicScale[{0, 4.2, 2}, {0, 4.2}, {{cmyloc, (4 - x^2)/2, {-1, 0}}, {yloc, (4 - x^2), {-1, 0}}, {4, 4}}, 0, -0.02, 0.03], (* Label the center of mass of the slice, the x and y axis, and add a larger font title to the graphic *) Text["C.M.", {xloc, cmyloc}, {1.6, 0}], Text[x, {2.4, 0}], Text[y, {2, 4.4}], Text[Style["Geometry for Calculating\nCenter of Mass", 16], {-2, 4.5}, {-1, 0}]} (* End of the specification of the graphic primitives *), (* The overall graphic options go here. These are options that affect the overall appearance of the plot \ and have nothing to do with how individual items are drawn. *) PlotRange -> {{-2.2, 3.4}, {-0.4, 5.0}}, BaseStyle -> {FontSize -> 12}, ImageSize -> 350] ] David Park djmpark at comcast.net http://home.comcast.net/~djmpark/index.html From: sam.takoy at yahoo.com [mailto:sam.takoy at yahoo.com] Hi, If I plot something using ParametricPlot and later want to add something to the same plot, how is that done? Many thanks in advance, Sam