diff --git a/tutorials/hist/th2polyUSA.C b/tutorials/hist/th2polyUSA.C index b55578ddf76825db9851ac7799df4c321a4ecd01..3e81cd856e817a2d39d61826767217f376d7eae7 100644 --- a/tutorials/hist/th2polyUSA.C +++ b/tutorials/hist/th2polyUSA.C @@ -10,14 +10,39 @@ void th2polyUSA() { - gStyle->SetCanvasPreferGL(true); + Int_t i, bin; + const Int_t nx = 48; + char *states [nx] = { + "alabama", "arizona", "arkansas", "california", + "colorado", "connecticut", "delaware", "florida", + "georgia", "idaho", "illinois", "indiana", + "iowa", "kansas", "kentucky", "louisiana", + "maine", "maryland", "massachusetts", "michigan", + "minnesota", "mississippi", "missouri", "montana", + "nebraska", "nevada", "new_hampshire", "new_jersey", + "new_mexico", "new_york", "north_carolina", "north_dakota", + "ohio", "oklahoma", "oregon", "pennsylvania", + "rhode_island", "south_carolina", "south_dakota", "tennessee", + "texas", "utah", "vermont", "virginia", + "washington", "west_virginia", "wisconsin", "wyoming" + }; + Float_t pop[nx] = { + 4708708, 6595778, 2889450, 36961664, 5024748, 3518288, 885122, 18537969, + 9829211, 1545801, 12910409, 6423113, 3007856, 2818747, 4314113, 4492076, + 1318301, 5699478, 6593587, 9969727, 5266214, 2951996, 5987580, 974989, + 1796619, 2643085, 1324575, 8707739, 2009671, 19541453, 9380884, 646844, + 11542645, 3687050, 3825657, 12604767, 1053209, 4561242, 812383, 6296254, + 24782302, 2784572, 621760, 7882590, 6664195, 1819777, 5654774, 544270 + }; + + gStyle->SetCanvasPreferGL(true); TCanvas *usa = new TCanvas("USA", "USA"); usa->ToggleEventStatus(); Double_t lon1 = -130; Double_t lon2 = -65; Double_t lat1 = 24; Double_t lat2 = 50; - TH2Poly *p = new TH2Poly("USA","USA",lon1,lon2,lat1,lat2); + TH2Poly *p = new TH2Poly("USA","USA Population",lon1,lon2,lat1,lat2); TFile *f; f = TFile::Open("http://root.cern.ch/files/usa.root"); @@ -29,25 +54,16 @@ void th2polyUSA() obj = key->ReadObj(); if (obj->InheritsFrom("TMultiGraph")) { mg = (TMultiGraph*)obj; - p->AddBin(mg); + bin = p->AddBin(mg); + for (i=0; i<nx; i++) { + if (strstr(states[i],mg->GetName())) { + p->SetBinContent(bin, pop[i]); + } + } } } - TRandom r; - Double_t longitude, latitude; - Double_t x, y, dr = TMath::Pi()/180, rd = 180/TMath::Pi(); - - p->ChangePartition(100, 100); - - for (Int_t i=0; i<500000; i++) { - longitude = r.Uniform(dr*lon1,dr*lon2); - latitude = r.Uniform(-dr*90,dr*90); - x = rd*longitude; - y = 39*TMath::Log(TMath::Tan((TMath::Pi()/4)+(latitude/2))); - p->Fill(x,y); - } - gStyle->SetOptStat(11); - gStyle->SetPalette(1); + gStyle->SetPalette(1); p->Draw("gllego"); }