Example:
{
TCanvas *c = new TCanvas("c","multigraphs on same pad",200,10,700,500);
TPad *pad1 = new TPad("pad1","",0,0,1,1);
TPad *pad2 = new TPad("pad2","",0,0,1,1);
float x1[] = {1,2,3}; float y1[] = {4,7,6};
float x2[] = {3,5,6}; float y2[] = {0,9,4};
float x3[] = {70,80,90}; float y3[] = {10,20,40};
float x4[] = {10,60,50}; float y4[] = {50,20,70};
TGraph *gr1 = new TGraph(3,x1,y1);
TGraph *gr2 = new TGraph(3,x2,y2);
TGraph *gr3 = new TGraph(3,x3,y3);
TGraph *gr4 = new TGraph(3,x4,y4);
gr3->SetLineColor(kRed);
gr4->SetLineColor(kRed);
// Draw the 1st TMultiGraph
pad1->Draw();
pad1->cd();
TMultiGraph *mg1 = new TMultiGraph();
mg1->Add(gr1);
mg1->Add(gr2);
mg1->Draw("AL");
// Draw the 2nd TMultiGraph
pad2->SetFrameFillStyle(0);
pad2->SetFillStyle(4000);
pad2->Draw();
pad2->cd();
TMultiGraph *mg2 = new TMultiGraph();
mg2->Add(gr3);
mg2->Add(gr4);
mg2->Draw("AL");
// Draw the axis of the 2nd TMultiGraph
TAxis *mg2Xaxis = mg2->GetHistogram()->GetXaxis();
TAxis *mg2Yaxis = mg2->GetHistogram()->GetYaxis();
Double_t xmin = mg2Xaxis->GetXmin();
Double_t xmax = mg2Xaxis->GetXmax();
Double_t ymin = mg2Yaxis->GetXmin();
Double_t ymax = mg2Yaxis->GetXmax();
mg2Xaxis->SetLabelSize(0);
mg2Xaxis->SetTickLength(0);
mg2Yaxis->SetLabelSize(0);
mg2Yaxis->SetTickLength(0);
TGaxis *yaxis = new TGaxis(xmax,ymin,xmax,ymax,ymin,ymax,510,"+L");
TGaxis *xaxis = new TGaxis(xmin,ymax,xmax,ymax,xmin,xmax,510,"-L");
xaxis->SetLabelColor(kRed);
xaxis->Draw();
yaxis->SetLabelColor(kRed);
yaxis->Draw();
}