Re: Adding text to RegionPlot
- To: mathgroup at smc.vnet.net
- Subject: [mg98578] Re: Adding text to RegionPlot
- From: Helen Read <hpr at together.net>
- Date: Mon, 13 Apr 2009 03:34:16 -0400 (EDT)
- References: <grs67t$qfq$1@smc.vnet.net>
- Reply-to: HPR <read at math.uvm.edu>
Jim Rockford wrote: > I would like to add text at specific (x,y) locations for a 2D graphic > generated by RegionPlot (meaning, I'd rather not use the graphic tool > and add text by hand). Is there a way to do this? I get mathematica > complaints that RegionPlot is not a "type of graphics." > > For example, this code fails: > > RegionPlot[y <= (1/x^2) && y >= 0, {x, 1, 3}, {y, 0, 1}, PlotRange -> > {{0, 3}, {0, 1}},Graphics[Text["mytext", {1.5, 1}]] > > Apparently I'm using Graphics[Text[]] incorrectly. How can I get > such a simple function of putting text at a specific location to work > in RegionPlot? RegionPlot[y <= (1/x^2) && y >= 0, {x, 1, 3}, {y, 0, 1}, PlotRange -> {{0, 3}, {0, 1}}, Epilog -> Text["my text", {1.3, 1}]] This will cut off your text, though, since it is centered at {1.3,1}. You need to leave a bit of vertical room for it, something like this. RegionPlot[y <= (1/x^2) && y >= 0, {x, 1, 3}, {y, 0, 1}, PlotRange -> {{0, 3}, {0, 1.2}}, Epilog -> Text["my text", {1.3, 1}]] You can also combine graphics with Show, instead of packing a lot into Epilog. plot1 = RegionPlot[y <= (1/x^2) && y >= 0, {x, 1, 3}, {y, 0, 1}]; plot2 = Graphics[{Red, FontSize -> 14, FontFamily -> "Helvetica", Text["My text", {1.3, 1}]}]; Show[{plot1, plot2}, PlotRange -> {{0, 3}, {0, 1.2}}] Note also that you don't need RegionPlot for your example. plot1 = Plot[1/x^2, {x, 1, 3}, Filling -> 0]; plot2 = Graphics[{Red, FontSize -> 14, FontFamily -> "Helvetica", Text["My text", {1.3, 1}]}]; Show[{plot1, plot2}, PlotRange -> {{0, 3}, {0, 1.2}}, AxesOrigin -> {0, 0}] -- Helen Read University of Vermont