Hi Dirk,
The axes range is automatically updated. However in your example
you always draw straight lines. Just move the call to gRandom inside the loop.
Rene Brun
Dirk Meier wrote:
>
> Hi,
>
> the program below draws TGraphs in two TPads.
> The contents of the TGraphs changes inside a loop
> and I would like to display the new TGraphs
> after each change.
>
> The problem is that the axis range does not
> update automatically.
>
> How could I implement automatic update of axis
> ranges ?
>
> best regards
> Dirk Meier
>
> //
> {
> gROOT->Reset();
>
> TCanvas *c = new TCanvas("c","canvas bla",500,300);;
>
> TList *gList = new TList();
>
> for(Int_t pk = 1; pk<=2; pk++) {
> gList->Add( new TGraph(3) );
> }
>
> c->Divide(2,1);
>
> c->cd(1);
> gList->At(0)->Draw("AL*");
> c->cd(2);
> gList->At(1)->Draw("AL*");
>
> Char_t tName[20];
> TPad *tPad;
>
> TIter tNextGraph(gList);
> TGraph *aGraph;
>
> for(Int_t i = 1; i<=600; i++) {
> Int_t pk=1;
> while (aGraph = (TGraph*)tNextGraph() ) {
> sprintf(tName,"c_%d",pk++);
> tPad = (TPad*)c->GetPrimitive(tName);
> cout << i << " " << tName << endl;
> Float_t value = gRandom->Rndm();
> for(Int_t k = 1; k<=10; k++) {
> aGraph->SetPoint(k-1, k*value, k*value*value);
> }
> tPad->Modified(); // needed for notifying that graph and pad were changed
> tPad->Update(); // needed for displaying the current graph
> }
> tNextGraph.Reset();
> }
> }
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:51 MET