code: def test_to_dict_without_categories(self):
      tdm = get_term_doc_matrix_without_categories()
      scatter_chart = ScatterChart(
          term_doc_matrix=tdm, minimum_term_frequency=0
      )
  
      with self.assertRaises(NeedToInjectCoordinatesException):
          scatter_chart.to_dict_without_categories()
      x_coords = tdm.get_term_doc_mat().sum(axis=0).A1
      y_coords = (
          tdm.get_term_doc_mat().astype(bool).astype(int).sum(axis=0).A1
      )
      scatter_chart.inject_coordinates(
          original_x=x_coords,
          original_y=y_coords,
          x_coords=scale(x_coords),
          y_coords=scale(y_coords),
      )
      j = scatter_chart.to_dict_without_categories()
      self.assertIsInstance(j, dict)
      self.assertEqual(set(j.keys()), set(["data"]))
      self.assertEqual(len(j["data"]), tdm.get_num_terms())
      self.assertEqual(
          j["data"][-1],
          {
              "cat": 4,
              "cat25k": 735,
              "ox": 4,
              "oy": 3,
              "term": "speak",
              "x": 1.0,
              "y": 1.0,
          },
      )
  
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 2 for calling the TestScatterChart obj's underlying member method code with example usage: obj.test_to_dict_without_categories() without return types