code: def test_multi_categories(self):
      corpus = get_test_corpus()
      j_vs_all = ScatterChart(
          term_doc_matrix=corpus, minimum_term_frequency=0
      ).to_dict("hamlet")
      j_vs_swift = ScatterChart(
          term_doc_matrix=corpus, minimum_term_frequency=0
      ).to_dict("hamlet", not_categories=["swift"])
      self.assertNotEqual(
          set(j_vs_all["info"]["not_category_internal_names"]),
          set(j_vs_swift["info"]["not_category_internal_names"]),
      )
      self.assertEqual(
          j_vs_all["info"]["categories"], corpus.get_categories()
      )
      self.assertEqual(
          j_vs_swift["info"]["categories"], corpus.get_categories()
      )
  
imports: import sys
  from unittest import TestCase
  import numpy
  import pandas
  from scattertext import LogOddsRatioUninformativeDirichletPrior, scale
  from scattertext import ScatterChart
  from scattertext.ScatterChart import CoordinatesNotRightException, TermDocMatrixHasNoMetadataException, NeedToInjectCoordinatesException
  from scattertext.test.test_corpusFromPandasWithoutCategories import get_term_doc_matrix_without_categories
  from scattertext.test.test_semioticSquare import get_test_corpus
  from scattertext.test.test_termDocMatrixFactory import build_hamlet_jz_term_doc_mat, build_hamlet_jz_corpus_with_meta
label_desc: Use image node_id 5 for calling the TestScatterChart obj's underlying member method code with example usage: obj.test_multi_categories() without return types