code: def __init__(self):
      app.Canvas.__init__(
          self, title="Quiver plot", keys="interactive", size=(830, 430)
      )
  
      self.arrow_length = 20
  
      self.grid_coords = None
      self.line_vertices = None
      self.last_mouse = (0, 0)
  
      self.generate_grid()
  
      self.visual = visuals.ArrowVisual(
          color="white", connect="segments", arrow_size=8
      )
  
      self.visual.events.update.connect(lambda evt: self.update())
      self.visual.transform = NullTransform()
  
      self.show()
  
file_path: vispy/examples/basics/visuals/arrows_quiver.py
imports: from __future__ import division
  import sys
  import itertools
  import numpy
  from vispy import app, gloo, visuals
  from vispy.visuals.transforms import NullTransform
label_desc: Use image node_id 1 to create a new Canvas object from inherited base classes: app with example: obj = Canvas()