Any way you are miss-using TGraph2D … What you want really is a Line in 3D … so use the appropriate class like in the following example :
{
TCanvas c("c", "",600, 600);
c.SetTheta(30);
c.SetPhi(50);
gStyle->SetOptStat(0);
gStyle->SetHistTopMargin(0);
gStyle->SetOptTitle(kFALSE);
TF2 f("f", "[0]*cos(x)*cos(y)", -1, 1, -1, 1);
f.SetParameter(0, 1);
double s = 1./f.Integral(-1, 1, -1, 1);
f.SetParameter(0, s);
f.SetNpx(50);
f.SetNpy(50);
double x[11]={-0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5};
double y[11]={-0.985, -0.8, -0.6, -0.4, -0.2, 0.0, 0.2, 0.4, 0.6, 0.8, 0.985};
double z[11]={0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3};
for(int i = 0; i < 11; ++i) z[i] = s*cos(x[i])*cos(y[i]);
TPolyLine3D g2(11, x, y, z);
double xx[2]={-0.5, -0.5};
double yy[2]={-0.985, -0.985};
double zz[2]={0.11, s*cos(-0.5)*cos(-0.985)};
TPolyLine3D l2(2, xx, yy, zz);
f.SetTitle("dP/dxdy=f(x,y)");
f.SetLineWidth(1);
f.SetLineColor(kAzure-2);
f.GetXaxis()->SetTitle("x");
f.GetXaxis()->SetTitleOffset(1.4);
f.GetXaxis()->SetTitleSize(0.04);
f.GetXaxis()->CenterTitle();
f.GetXaxis()->SetNdivisions(505);
f.GetXaxis()->SetTitleOffset(1.3);
f.GetYaxis()->SetTitle("y");
f.GetYaxis()->CenterTitle();
f.GetYaxis()->SetTitleOffset(1.4);
f.GetYaxis()->SetTitleSize(0.04);
f.GetYaxis()->SetTitleOffset(1.3);
f.GetYaxis()->SetNdivisions(505);
f.GetZaxis()->SetTitle("dP/dx");
f.GetZaxis()->CenterTitle();
f.GetZaxis()->SetTitleOffset(1.3);
f.GetZaxis()->SetNdivisions(505);
f.GetZaxis()->SetTitleSize(0.04);
f.GetXaxis()->SetLabelSize(0.03);
f.GetYaxis()->SetLabelSize(0.03);
f.GetZaxis()->SetLabelSize(0.03);
f.Draw("surf");
g2.SetLineColor(kRed);
g2.SetLineWidth(3);
g2.Draw();
l2.SetLineColor(kRed);
l2.SetLineStyle(2);
l2.SetLineWidth(1);
l2.Draw();
TLatex txt(0.05, 0, "f(y|x_{0})");
txt.SetTextColor(kRed);
txt.Draw();
TLatex txt1(0.12, 0.52, "f(x,y)");
txt1.SetTextColor(kBlue);
txt1.Draw();
TLatex txt2(0.28, -0.76, "x_{0}");
txt2.SetTextColor(kRed);
txt2.Draw();
}
and you will get what you are looking for. That’s a nice example by the way