Try: TCanvas *c =
(TCanvas *)gROOT->GetListOfCanvases()->FindObject("your_canvas_name");
if (c) c->Clear(); // "reuse" the existing one
else c = new TCanvas("your_canvas_name", "your canvas title", ...); or: TCanvas *c =
(TCanvas *)gROOT->GetListOfCanvases()->FindObject("your_canvas_name");
delete c; // delete the existing one
c = new TCanvas("your_canvas_name", "your canvas title", ...);