Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

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.

share|improve this question
    
GraphicsGrid comes to mind... –  Yves Klett Jul 8 at 10:56
    
Yeah. I thought about that, but couldn't think how to get round problem of wanting the blue rectangle to take up two rows. –  TomJS Jul 8 at 11:00
2  
GraphicsGrid[{ {plot1, plot3, plot2}, {SpanFromAbove, videoBox, plot4}}] but I'd use Inset probably –  Kuba Jul 8 at 11:02
    
That didn't seem to quite work. Oh but that's a good tip, I get how that works now, will have a play :) –  TomJS Jul 8 at 11:06
    
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 –  TomJS Jul 8 at 11:13

1 Answer 1

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

share|improve this answer
    
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. –  Pickett Jul 8 at 11:59

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.