code: def testVisualize3DClustersTwoCanvasesNumpy(self):
      sample_tetra = read_sample(
          FCPS_SAMPLES.SAMPLE_TETRA, return_type="numpy"
      )
      sample_hepta = read_sample(
          FCPS_SAMPLES.SAMPLE_HEPTA, return_type="numpy"
      )
  
      # Two canvas visualization
      visualizer = cluster_visualizer(2)
      visualizer.append_clusters([sample_tetra], None, 0, markersize=30)
      visualizer.append_clusters([sample_hepta], None, 1, markersize=30)
      figure = visualizer.show()
      visualizer.close(figure)
  
imports: import unittest
  import matplotlib
  import matplotlib.pyplot
  import numpy
  import random
  from pyclustering.samples.definitions import SIMPLE_SAMPLES, FCPS_SAMPLES
  from pyclustering.utils import read_sample
  from pyclustering.cluster import cluster_visualizer
  from pyclustering.cluster.dbscan import dbscan
  from pyclustering.cluster.cure import cure
label_desc: Use image node_id 8 for calling the Test obj's underlying member method code with example usage: obj.testVisualize3DClustersTwoCanvasesNumpy() without return types