TGraph::Draw creates an histogram to set the range and draw the axis.
In your exaple the histogram does not exists yet at the point where you call
TGraph::GetHistogram. This functions returns a null pointer.
I have modified your code below to get what you want.
Note that it would be simpler to write a macro using the standard root
executable
rather than writing your own main program.
Rene Brun
kamps wrote:
>
> Hello,
> Is it correct that histogram like attributes of a graph must be handled by
> the GetHistogram()
> function ? The program below runs under WINNT, visual C++ 6.0, root 2.24/05,
> but crashes if
> I include the line that is commented out.
>
> #include <TRoot.h>
> #include <TCanvas.h>
> #include <TPad.h>
> #include <TApplication.h>
> #include <TGraph.h>
> #include <TH1.h>
>
> extern void InitGui();
> VoidFuncPtr_t initfuncs[] = {InitGui, 0};
> TROOT root("rint","The ROOT Interactive Interface", initfuncs);
>
> int main()
> {
> TApplication* pRootApp = new TApplication("RootApp",0,0);
> TCanvas* c = new TCanvas("c1","bla",200,10,600,400);
> TPad *pad1 = new TPad("pad1","The pad",0.05,0.52,0.95,0.97);
>
> c->SetGrid();
>
> float x[3];
> float y[3];
>
> x[0] = 0.0;
> y[0] = 0.0;
>
> x[1] = 0.5;
> y[1] = 0.5;
>
> x[2] = 0.9;
> y[2] = 0.9;
>
> TGraph graph(3,x,y);
> graph.SetTitle("linear");
graph.Draw("al"); //<===specify the drawing option "a"
c->Update(); //<<=======new
graph.GetHistogram()->SetLabelSize(1e-1);
>
c->Modified();
> c->Update();
>
> while(1)
> ;
>
> return 0;
> }
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:31 MET