void barchart() { const int N=5; TH1F* h1 = new TH1F("barchart1", "error bars on bar chart", N, 0.5, N + 0.5); TH1F* h2 = new TH1F("barchart2", "barchart2", N, 0.5, N + 0.5); TH1F* h3 = new TH1F("barchart3", "barchart2", N, 0.5, N + 0.5); for (int i=1; i<=N; i++) { h1->SetBinContent(i, i-1.5); h2->SetBinContent(i, i-2.0); h3->SetBinContent(i, i-2.5); h1->SetBinError(i, 0.1); h2->SetBinError(i, 0.15); h3->SetBinError(i, 0.2); } h1->SetBarWidth(0.2); h2->SetBarWidth(0.2); h3->SetBarWidth(0.2); h1->SetBarOffset(0.2); h2->SetBarOffset(0.4); h3->SetBarOffset(0.6); h1->SetFillColor(2); h2->SetFillColor(3); h3->SetFillColor(4); h1->SetMaximum(N); h1->SetMinimum(-2.0); gStyle->SetCanvasColor(10); // white background gStyle->SetErrorX(0); // turn off horizontal error bars h1->Draw("bar2 e1"); h2->Draw("bar2 e1 same"); h3->Draw("bar2 e1 same"); }