#include #include "TStyle.h" #include "TFile.h" #include "TH1F.h" #include "TH1D.h" #include "TGraph.h" #include "TCanvas.h" #include "TPad.h" #include "TGaxis.h" #include "TLegend.h" #include "fstream" #include "iostream" #include "TRandom.h" #include "fstream" #include "iomanip" using namespace std; // oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo // Solution From Manual // oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo int main() { TCanvas* c1=new TCanvas("c1","c1",900,600); // c1->SetLogx(); gStyle->SetOptStat(kFALSE); ifstream ifile1("ody1"); double current1[1002][3]{}; string Line; while(!ifile1.eof()) { getline(ifile1,Line); if(Line.find("surface 1")!=-1) { getline(ifile1,Line); for(int i=0;i<1002;i++) { ifile1>>current1[i][0]; ifile1>>current1[i][1]; ifile1>>current1[i][2]; } } } double xEdges[1003]{}; xEdges[0]=0; for(int i=0;i<1002;i++) { xEdges[i+1]=current1[i][0]; } double y1Bins[1002]{}; for(int i=0;i<1002;i++) { y1Bins[i]=current1[i][1]; } TH1D* h1=new TH1D("h1","h1",1002,xEdges); for(int i=0;i<1002;i++) { h1->SetBinContent(i+1,y1Bins[i]); } // h1->SetLineColor(2); h1->Draw(); c1->Update(); double y2Bins[1002]{}; for(int i=0;i<1002;i++) { y2Bins[i]=current1[i][2]; } TH1D* h2=new TH1D("h2","h2",1002,xEdges); for(int i=0;i<1002;i++) { h2->SetBinContent(i+1,y2Bins[i]); } // h2->Draw(); double rightmax=1.1*h2->GetMaximum(); // double scale=gPad->GetUymax()/rightmax; double scale=gPad->GetUymax()/rightmax; // gPad->SetLogx(); // h2->SetMarkerStyle(4); // h2->SetFillColor(0); h2->SetLineColor(2); h2->Scale(scale); h2->Draw("same"); TGaxis* axis=new TGaxis(gPad->GetUxmax(),gPad->GetUymin(),gPad->GetUxmax(),gPad->GetUymax(),0,rightmax,510,"+L"); axis->SetLineColor(2); axis->SetLabelColor(2); axis->Draw(); c1->Print("h1h2.pdf"); return 100000000; }