Re: Charting question
- To: mathgroup at smc.vnet.net
- Subject: [mg29655] Re: [mg29633] Charting question
- From: BobHanlon at aol.com
- Date: Mon, 2 Jul 2001 02:20:17 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
In a message dated 2001/6/29 2:09:09 AM, polar at cloud9.net writes:
>I have a couple of questions on setting up multiple charts withinone
>cell. Basically, I am contructing bar charts for commodities. I have
>three modules set up ( BarChart, VolumeChart and OpenInterest) which
>work fine individually. What I want to do is set these charts with
>price the first chart and volume and open interest charts below the
>price chart. I can do something similar to what I am looking for with
>Show[GraphicsArray[{{BarChart},{VolumeChart},{OpenInterest}}]] or with
>DisplayTogetherArray[{BarChart},{VolumeChart},{OpenInterest}] .
>However, when I try to use ImageSize to expand the viewing area the
>charts do not expand to take up the entire size used. For example,
>ImageSize->{600,400} which I thought would make the charts appear like
>a
>landscape view does not work. The charts are bigger but they do not
>expand lengthwise.
> Second, is there a way to create two charts within one chart,
>similar to a subwindow? If possible I would like to call
>BarChart,VolumeChart and OpenInterest and have the Barchart take up 60%
>of the graph are and Volume and OpenInterest each take up 20%.
> Lastly, is there a way to plot two series in one chart using
>different values on the Y axis. I have tried MultipleListPlot but it
>doesn't really do what I am looking for. i want to be able to plot two
>value in one chart where one value may range from 0-100000 and the
>second value may range from 1-100. I can do this in excel of FAME but
>I
>can't see how to do this in Mathematica.
>
You need to control the AspectRatio of the charts.
Needs["Graphics`Graphics`"]
m = 3; n = 2;
DisplayTogetherArray[
{Plot[x, {x, 0, 10}, AspectRatio -> (n/m)/3]},
{Plot[x^2, {x, 0, 10}, AspectRatio -> (n/m)/3]},{Plot[E^x, {x, 0, 10},
AspectRatio -> (n/m)/3]},
ImageSize -> 200*{m, n}];
For different sizes:
Show[Graphics[{
Rectangle[{0,1},{2,2},
Plot[x, {x, 0, 10}, AspectRatio -> 1/4,
DisplayFunction -> Identity]],
Rectangle[{0,0},{1,1},
Plot[x^2, {x, 0, 10}, DisplayFunction -> Identity]],
Rectangle[{1,0},{2,1},
Plot[E^x, {x, 0, 10}, DisplayFunction -> Identity]]}],
DisplayFunction -> $DisplayFunction, ImageSize -> {600, 400}];
For inlays:
Show[Graphics[{
Rectangle[{0,0},{2,2},
Plot[x, {x, 0, 10}, DisplayFunction -> Identity]],
Rectangle[{0.1,1.1},{1,2},
Plot[x^2, {x, 0, 10}, DisplayFunction -> Identity]],
Rectangle[{1.1,0.1},{2,1},
Plot[E^x, {x, 0, 10}, DisplayFunction -> Identity]]}],
DisplayFunction -> $DisplayFunction, ImageSize \[Rule] {600, 400}];
Using two y-axes is an FAQ and someone will provide the URL for the answer at
the Mathematica site.
Bob Hanlon
Chantilly, VA USA