Re: How to make large graphics object fit within a plot?
- To: mathgroup at smc.vnet.net
- Subject: [mg105484] Re: [mg105448] How to make large graphics object fit within a plot?
- From: "David Park" <djmpark at comcast.net>
- Date: Fri, 4 Dec 2009 04:34:25 -0500 (EST)
- References: <21622849.1259839260168.JavaMail.root@n11>
Nasser,
I thought you asked that question back on 25 Nov and received a number of
answers.
In any case, here is a Presentations solution that works straight off
because Mathematica has access to all the primitives at once.
Needs["Presentations`Master`"]
Draw2D[
{Draw[Sin[x], {x, 0, 10}],
Opacity[.5, Orange],
Disk[{5, 0}, 2]},
Frame -> True]
But, in general, you may have to specify things like PlotRange,
PlotRangePadding, ImagePadding and other things. The fact that Mathematica
makes some nice plots with minimal effort leads to a false impression that
it will make all plots with minimal effort. This is just not the case. Most
nice plots are going to require a little effort. Some are going to require A
LOT of effort if you want them to look their best.
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/
From: Nasser M. Abbasi [mailto:nma at 12000.org]
I am trying to add a disk at some location on top of an existing plot. So I
use Epilog to add the disk.
But it seems if the disk is larger than the plot image size, it gets chopped
off. I wanted the whole disk to show.
I tried increasing ImagePadding for the plot, and also ImageMargins, but
this did not help.
Here is what I tried
Plot[Sin[x], {x, 0, 10}, AspectRatio -> Automatic,
Epilog -> {Disk[{5, 0}, 2]}]
Show[Plot[Sin[x], {x, 0, 10}, AspectRatio -> Automatic],
Graphics[Disk[{5, 0}, 2]]]
Show[Plot[Sin[x], {x, 0, 10}, AspectRatio -> Automatic, PlotRange ->
Automatic],
Graphics[Disk[{5, 0}, 2]]]
None of the above works. But the below WORKS:
Show[Plot[Sin[x], {x, 0, 10}, AspectRatio -> Automatic, PlotRange ->
{Automatic,{-3,3}}],
Graphics[Disk[{5, 0}, 2]]]
So, I had to explicitly make the plot y-axis large enough to accommodate the
disk to make it 'fit'
I wanted to do this automatically. I am sure there is a way. I just thought
of something, may be I need to look at
Inset[] may be there is something there? which I'll do that next.
--Nasser