Visualization: participants distribution - JetBrains-Research/task-tracker-post-processing GitHub Wiki

Description

This module allows to visualize the participant's distribution.

Note: Run before reorganize files structure because the structure of the old file is used to count unique users:

-root
 --user_N1
  ---python
   ----task1
    -----user_N1_files
 --user_N2
  ---cpp
   ----task1
    -----user_N2_files

Usage

Use get_profile_statistics method from statistics_gathering.py to save the profiles statistics.

Argument Description
path path to a directory with files in a single language

After that, use plot_profile_statistics method from profile_statistics_plots.py to visualize it.

Argument Description
file path to the file from the previous step
column type of distribution. Available values: AGE and EXPERIENCE from STATISTICS_KEY Enum class from plots const file.
plot_type chart type. Available values: BAR and PIE from CHART_TYPE Enum class from plots const file.
to_union_rare allows to merge the rare values. The rare value is a value that has a frequency of less than or equal to STATISTICS_RARE_VALUE_THRESHOLD from consts.py. The default value for STATISTICS_RARE_VALUE_THRESHOLD is 2 items. The default value for to_union_rare is False.
format allows to save the output into a file in different formats. The default value is html because the plots are interactive. Available values: html and png. Please use these values from consts.py (the EXTENSION Enum class).
auto_open allows to open the plots automatically. The default value is False.
x_category_order allows to choose the sorting order for the X axis. Available values are stored in PLOTTY_CATEGORY_ORDER from consts.py. The default value is PLOTTY_CATEGORY_ORDER.TOTAL_ASCENDING. To learn more about category_order plottly parameter, see documentation.

An example of BAR chart type:

An example of BAR chart type

An example of PIE chart type:

An example of PIE chart type