code: def makeGraphFrame(self, root):
      # t._Screen is a singleton class instantiated or retrieved
      # by calling Screen.  Since tdemo canvas needs a different
      # configuration, we manually set class attributes before
      # calling Screen and manually call superclass init after.
      turtle._Screen._root = root
  
      self.canvwidth = 1000
      self.canvheight = 800
      turtle._Screen._canvas = (
          self.canvas
      ) = canvas = turtle.ScrolledCanvas(
          root, 800, 600, self.canvwidth, self.canvheight
      )
      canvas.adjustScrolls()
      canvas._rootwindow.bind("<Configure>", self.onResize)
      canvas._canvas["borderwidth"] = 0
  
      self.screen = screen = turtle.Screen()
      turtle.TurtleScreen.__init__(screen, canvas)
      turtle.RawTurtle.screens = [screen]
      return canvas
  
imports: import sys
  import os
  from tkinter import *
  from idlelib.colorizer import ColorDelegator, color_config
  from idlelib.percolator import Percolator
  from idlelib.textview import view_text
  from turtledemo import __doc__
  import turtle
label_desc: Use image node_id 4 for calling the DemoWindow obj's underlying member method code with example usage: obj.makeGraphFrame(root) and returns: canvas