Hi All, I would like to do the following. I have a macro that plots
several different pads which I get by doing TCanvas::Divide. When I save
the canvas as a .eps it looks great. But, I would also like to save each
pad individually so that I can view them separately (and insert them into
a presentation without cropping them out and resizing). I do that via a
little function which calls gPad->Save(), but that pad gets saved with
exactly the same location and dimension on it's own .eps file as it has on
the main canvas. I want to be able to make it large and centered on a
regular page. Can somebody help me? Here's an example macro to start the
discussion. Thanks, Mike
#include <iostream>
void savePad(const char* pad_name, const char* outdir, const char* tag)
{
//I want to be able to resize the pad here, but don't know how
char name[100];
sprintf(name,"%s%s_%s", outdir, pad_name, tag);
const char* n = gPad->GetName();
cout <<"Write file:\t"<<name<<"\tfor pad:\t"<<n<<endl;
gPad->cd();
gPad->SaveAs(name);
}
void RootPadExample()
{
TCanvas* c1 = new TCanvas("c1","",100,100,300,300);
c1->Divide(1,2);
c1->cd(1);
TF1* func = new TF1("func","sin(x)",0., TMath::Pi());
func->Draw();
savePad("sin","./","function.eps");
c1->cd(2);
TF1* func2 = new TF1("func2","cos(x)",0., TMath::Pi());
func2->Draw();
savePad("cos","./","function.eps");
c1->SaveAs("TheCanvas.eps");
}
--
Michael L. Miller (Yale Physics) michael.miller@yale.edu
Seattle: 206.543.2908 EPE group, 2nd floor physics.
BNL: 631.344.8342 Building 118 Yale Software
Yale: 203.432.6615 Room 301 WNSL
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:09 MET