code: def create_violin_distribution(
      value: List[np.ndarray], **kwargs
  ) -> plt.Figure:
      """
      Creates simple matplotlib violin plot of value.
  
      :param value: output of an event (expected to be a list of numpy vectors)
      :param kwargs: Additional plotting relevant arguments.
      :return: plt.figure that contains a bar plot
      """
      unused(kwargs)
  
      # extract array
      value_array = np.stack(value)
  
      fig_size = (min(14, max(7, value_array.shape[1] // 2)), 7)
      fig = plt.figure(figsize=fig_size)
      plt.violinplot(value_array, showmeans=True)
      plt.grid(True)
      return fig
  
file_path: maze/maze/core/log_events/log_create_figure_functions.py
imports: from collections import Counter
  from typing import List, Tuple, Union
  import matplotlib.pyplot
  import numpy
  from maze.core.annotations import unused
label_desc: Use image node_id 6 for calling a global function with example usage: create_violin_distribution(value) and returns: fig