Re: TPad::SetFrameFillStyle(4000)

From: Rene Brun <Rene.Brun_at_cern.ch>
Date: Tue, 18 Dec 2007 07:30:19 +0100


Akira,

A TPad defines a reference range for the objects added to it. You must use two adjacent pads to achieve what you want. See tutorial $ROOTSYS/tutorials/graphs/zones.C

Rene Brun

OKUMURA, Akira wrote:
> Hello Rene,
>
> Do you have another idea to plot two frames in one pad without using
> TPad::SetFrameFillStyle(4000)?
>
> Regards
>
> OKUMURA, Akira oxon_at_icrr.u-tokyo.ac.jp
> Institute for Cosmic Ray Research, University of Tokyo
> 5-1-5 Kashiwanoha Kashiwa Chiba 277-8582 Japan
> Phone/Fax : +81 4-7136-3153
> Skype : okumura.akira
>
> On 2007/12/17, at 3:01, Rene Brun wrote:
>
>> Akira,
>>
>> Sorry, I did not read your original mail carefully.
>> Transparent pads cannot be saved on pdf/ps files, only gif, jpg,png.
>>
>> Rene Brun
>>
>> OKUMURA, Akira wrote:
>>> Hello Rene,
>>>
>>> Thank you for you modification. But I got same result (gra1 is not
>>> drawn) in PDF/EPS/PS.
>>>
>>> I also tried
>>> Scientific Linux 5.0 + 5.17.04
>>>
>>> Regards
>>>
>>> OKUMURA, Akira oxon_at_icrr.u-tokyo.ac.jp
>>> Institute for Cosmic Ray Research, University of Tokyo
>>> 5-1-5 Kashiwanoha Kashiwa Chiba 277-8582 Japan
>>> Phone/Fax : +81 4-7136-3153
>>> Skype : okumura.akira
>>>
>>> On 2007/12/17, at 2:06, Rene Brun wrote:
>>>
>>>> void tmp()
>>>> {
>>>> double x1[5] = {0, 1, 2, 3, 4};
>>>> double y1[5] = {0, 1, 2, 3, 4};
>>>> TGraph* gra1 = new TGraph(5, x1, y1);
>>>>
>>>> double x2[5] = {0, 1, 2, 3, 4};
>>>> double y2[5] = {0.1, -0.4, 0.7, 0.3, -0.2};
>>>> TGraph* gra2 = new TGraph(5, x2, y2);
>>>>
>>>> TCanvas* can = new TCanvas("can", "", 800+4, 600+26);
>>>> gPad->SetBottomMargin(0.3);
>>>> TH1F* tmp = can->DrawFrame(0, -0.1, 5, 5);
>>>> tmp->SetTitle(";;Y");
>>>> tmp->GetXaxis()->SetTickLength(0);
>>>> tmp->GetXaxis()->SetLabelSize(0);
>>>> gra1->Draw("*");
>>>> TPad* pad = new TPad("pad", "", 0, 0, 1, 1);
>>>> pad->SetFrameFillStyle(4000);
>>>> pad->SetTopMargin(0.7);
>>>> pad->Draw();
>>>> pad->cd();
>>>> tmp = pad->DrawFrame(0, -1.5, 5, 1.5);
>>>> tmp->SetTitle(";X;Residual");
>>>> tmp->GetXaxis()->SetTickLength(0.02);
>>>> tmp->GetYaxis()->SetNdivisions(103);
>>>> tmp->GetYaxis()->CenterTitle();
>>>> gra2->Draw("*");
>>>> }
>>>
>>
>
Received on Tue Dec 18 2007 - 07:30:39 CET

This archive was generated by hypermail 2.2.0 : Tue Dec 18 2007 - 23:50:02 CET