3
$\begingroup$

I have 4 plots/schematics. They are either created with ArrayPlot[], ParametricPlot3D[] or Graphics[]. As I play with calculation resolutions their absolute sizes will change. I would like a neat way to arrange them inside a YouTube sized box (1920 x 1080) using relative positioning so that when/if they change size the final combination still looks more or less how I want.

To simplify the question let's say I have:

videoBox = Graphics[{EdgeForm[Thick], White, Rectangle[{0, 0}, {1920,1080}]}]; plot1 = Graphics[{Blue, Rectangle[{0, 0}, {2, 3}]}]; plot2 = Graphics[{Red, Disk[{0, 0}, 2]}]; plot3 = Graphics[{Orange, Disk[{0, 0}, 2]}]; plot4 = Graphics[{Gray, Rectangle[{0, 0}, {2, 1}]}]; GraphicsRow[{videoBox, plot1, plot2, plot3, plot4}] 

Using relative positioning I would like to combine them to look something like:

Any suggestions?

Update 1

The answers and suggestions have certainly helped, but I still need more control over the positioning. For example here is the actual image I have created using the suggestions so far:

Close but no cigar. I would like to move the blue and red dots schematic up so that the bottom lines up with the bottom of the rectangular box plot.

$\endgroup$
8
  • $\begingroup$ GraphicsGrid comes to mind... $\endgroup$ Commented Jul 8, 2014 at 10:56
  • $\begingroup$ Yeah. I thought about that, but couldn't think how to get round problem of wanting the blue rectangle to take up two rows. $\endgroup$ Commented Jul 8, 2014 at 11:00
  • 2
    $\begingroup$ GraphicsGrid[{ {plot1, plot3, plot2}, {SpanFromAbove, videoBox, plot4}}] but I'd use Inset probably $\endgroup$ Commented Jul 8, 2014 at 11:02
  • $\begingroup$ That didn't seem to quite work. Oh but that's a good tip, I get how that works now, will have a play :) $\endgroup$ Commented Jul 8, 2014 at 11:06
  • $\begingroup$ GraphicsGrid[{{plot1, plot3, plot2},{SpanFromAbove,plot4,SpanFromLeft}}] gives me more or less what I want just not with it inside and filling up the videoBox $\endgroup$ Commented Jul 8, 2014 at 11:13

1 Answer 1

2
$\begingroup$
plot1 = Graphics[{Blue, Rectangle[{0, 0}, {2, 4}]}]; plot2 = Graphics[{Red, Disk[{0, 0}, 2]}]; plot3 = Graphics[{Orange, Disk[{0, 0}, 2]}]; plot4 = Graphics[{Gray, Rectangle[{0, 0}, {2, 1}]}]; GraphicsGrid[{{plot1, plot3, plot2}, {SpanFromAbove, plot4, SpanFromLeft}}, Frame -> True, FrameStyle -> Thick] 

enter image description here

$\endgroup$
1
  • $\begingroup$ Just to be clear, the caveats with this answer are: Changed the size of the blue rectangle and the frame is not the videoBox graphic given in the question. $\endgroup$ Commented Jul 8, 2014 at 11:59

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.