class_docstr: Logs attack results to Visdom.
class_docstr_tok: ["Logs","attack","results","to","Visdom","."]
code: def bar(self, X_data, numbins=10, title=None, window_id=None):
      window = None
      if window_id and window_id in self.windows:
          window = self.windows[window_id]
          self.vis.bar(
              X=X_data,
              win=window,
              opts=dict(title=title, numbins=numbins),
          )
      else:
          new_window = self.vis.bar(
              X=X_data, opts=dict(title=title, numbins=numbins)
          )
          if window_id:
              self.windows[window_id] = new_window
  
file_path: TextAttack/textattack/loggers/visdom_logger.py
imports: import socket
  from textattack.shared.utils import LazyLoader, html_table_from_rows
  from .logger import Logger
label_desc: Use image node_id 10 for calling the VisdomLogger obj's underlying member method code with example usage: obj.bar(X_data, numbins, title, window_id) without return types