THStack *hs = new THStack(); int hi=0; void Addtohs (TH1F *h) { hi++; TH2F *h2 = new TH2F(Form("h2_%d",hi),Form("h2_%d",hi),10,0,1,7,0,1); int n = h->GetNbinsX(); for (int i=1; i<=n; i++) { h2->SetBinContent(i,2*hi,h->GetBinContent(i)); } h2->SetFillColor(hi*2); hs->Add(h2); } void h1in3d() { auto h1 = new TH1F("h1","h1",10,0,1); auto h2 = new TH1F("h2","h3",10,0,1); auto h3 = new TH1F("h3","h3",10,0,1); h1->SetBinContent(1 ,1); h1->SetBinContent(2 ,2); h1->SetBinContent(3 ,3); h1->SetBinContent(4 ,4); h1->SetBinContent(5 ,5); h1->SetBinContent(6 ,5); h1->SetBinContent(7 ,4); h1->SetBinContent(8 ,3); h1->SetBinContent(9 ,2); h1->SetBinContent(10,1); h2->SetBinContent(1 ,5); h2->SetBinContent(2 ,4); h2->SetBinContent(3 ,3); h2->SetBinContent(4 ,2); h2->SetBinContent(5 ,1); h2->SetBinContent(6 ,1); h2->SetBinContent(7 ,2); h2->SetBinContent(8 ,3); h2->SetBinContent(9 ,4); h2->SetBinContent(10,5); h3->SetBinContent(1 ,1); h3->SetBinContent(2 ,2); h3->SetBinContent(3 ,3); h3->SetBinContent(4 ,4); h3->SetBinContent(5 ,5); h3->SetBinContent(6 ,6); h3->SetBinContent(7 ,7); h3->SetBinContent(8 ,8); h3->SetBinContent(9 ,9); h3->SetBinContent(10,10); Addtohs(h1); Addtohs(h2); Addtohs(h3); hs->Draw("lego1 0"); }