docs: def add_scalar(self, logger, k, v, event_name, global_step):
          """
          Helper method to log a scalar with VisdomLogger.
  
          Args:
              logger (VisdomLogger): visdom logger
              k (str): scalar name which is used to set window title and y-axis label
              v (int or float): scalar value, y-axis value
              event_name: Event name which is used to setup x-axis label. Valid events are from
                  :class:`~ignite.engine.Events` or any `event_name` added by
                  :meth:`~ignite.engine.Engine.register_events`.
              global_step (int): global step, x-axis value
  
          """
          if k not in self.windows:
              self.windows[k] = {
                  'win': None,
                  'opts': {
                      'title': k,
                      'xlabel': str(event_name),
                      'ylabel': k,
                      'showlegend': self.show_legend
                  }
              }
  
          update = None if self.windows[k]['win'] is None else 'append'
  
          kwargs = {
              "X": [global_step, ],
              "Y": [v, ],
              "env": logger.vis.env,
              "win": self.windows[k]['win'],
              "update": update,
              "opts": self.windows[k]['opts'],
              "name": k
          }
  
          future = logger.executor.submit(logger.vis.line, **kwargs)
          if self.windows[k]['win'] is None:
              self.windows[k]['win'] = future.result()