code: def scatter_plot(votes, threshold, sigma1, sigma2, order):
      fig, ax = setup_plot()
      x = []
      y = []
      for i, v in enumerate(votes):
          if threshold is not None and sigma1 is not None:
              q_step1 = math.exp(
                  pate.compute_logpr_answered(threshold, sigma1, v)
              )
          else:
              q_step1 = 1.0
          if random.random() < q_step1:
              logq_step2 = pate.compute_logq_gaussian(v, sigma2)
              x.append(max(v))
              y.append(pate.rdp_gaussian(logq_step2, sigma2, order))
  
      print("Selected {} queries.".format(len(x)))
      # Plot the data-independent curve:
      # data_ind = pate.rdp_data_independent_gaussian(sigma, order)
      # plt.plot([0, 5000], [data_ind, data_ind], color='tab:blue', linestyle='-', linewidth=2)
      ax.set_yscale("log")
      plt.xlim(xmin=0, xmax=5000)
      plt.ylim(ymin=1e-300, ymax=1)
      plt.yticks([1, 1e-100, 1e-200, 1e-300])
      plt.scatter(x, y, s=1, alpha=0.5)
      plt.ylabel(r"RDP at $\alpha={}$".format(order), fontsize=16)
      plt.xlabel(r"max count", fontsize=16)
      ax.tick_params(labelsize=14)
      plt.show()
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import os
  import sys
  from absl import app
  from absl import flags
  import matplotlib
  import matplotlib.pyplot
  import numpy
  import core
  import random
label_desc: Use image node_id 8 for calling a global function with example usage: scatter_plot(votes, threshold, sigma1, sigma2, order) without return types