Hi, I'm trying to find the way to save the palette information with a colz-histogram into the root file (see the code below). When I open the file I see that the number of contours gets saved, but the colors are different. Also when I even just move something with mouse on the histogram that just was drawn I loose my colors too. I tried it in two versions: 3.03/06 and 3.05/00 from Fermi build. In 3.05/00 I also have the errors like that: root [0] Attaching file hsimple.root... Warning in <TClass::TClass>: no dictionary for class TPaletteAxis is available root [1] root [1] TBrowser b root [2] Error in <TBuffer::CheckByteCount>: object of class TPaletteAxis read too few bytes: 17 instead of 311 Warning in <TBuffer::CheckByteCount>: TPaletteAxis::Streamer() not in sync with data on file, fix Streamer() Error in <TBuffer::CheckByteCount>: object of class TPaletteAxis read too few bytes: 4 instead of 298 Warning in <TBuffer::CheckByteCount>: TPaletteAxis::Streamer() not in sync with data on file, fix Streamer() and also I see that the statistics box appears behind the palette then. One more question: in a simple setting, like in the example below, I managed to learn how to save the statistics boxes style settings in a file, but in a more complex system (the CDF online monitoring software) sometimes I can't figure out why it is not working (also SetContour(7) doesn't work for me there). So the question is: is there anything more I should know other then a) create histograms after setting the style, b) update canvas after drawing them? regards, Vadim file try.C: ----------------------------------------------------- void setStyle(TStyle *st){ st->SetOptStat(1110); st->SetStatColor(0); st->SetTitleColor(0); st->SetTitleW(0.57); st->SetCanvasBorderMode(0); st->SetFrameBorderMode(0); st->SetCanvasColor(0); } void try (){ TList *l = new TList(); TStyle *myStyle = new TStyle("xx","xx"); setStyle(myStyle); TStyle *ssave = gStyle; myStyle->cd(); TFile* hfile = new TFile("hsimple.root","RECREATE"); int colours[]={1,12,28,39,47,3,5}; gStyle->SetOptStat(1110); // gROOT->ForceStyle(); TH2F *hist = new TH2F("Gaussian","Gaussian",10,-10,10,10,-10,10); TH2F *histb = new TH2F("GaussianB","GaussianB",20,-10,10,20,-10,10); gRandom->SetSeed(); for (Int_t i = 0; i < 10000; i++){ hist->Fill(gRandom->Gaus(0,5),gRandom->Gaus(0,5)); histb->Fill(gRandom->Gaus(0,6),gRandom->Gaus(0,4)); } TCanvas *c1 = new TCanvas("c1","c1",600,800); c1->Divide(1,2); c1->cd(1); hist->SetContour(7); gStyle->SetPalette(7,colours); // gROOT->ForceStyle(); hist->Draw("colz"); gPad->Update(); c1->cd(2); gStyle->SetOptStat(10); histb->SetContour(7); gStyle->SetPalette(7,colours); histb->Draw("colz"); c1->Modified();c1->Update(); gStyle = ssave; l->Add(c1); l->Write(); hfile->Write(); }
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:10 MET