Skip to main content

Visualization tools for the ASReview project

Project description

ASReview-visualization

Deploy and releaseBuild status

This is a plotting/visualization supplemental package for the ASReview software. It is a fast way to create a visual impression of the ASReview with different datasets, models and model parameters.

Installation

The easiest way to install the visualization package is to install from PyPI:

pip install asreview-visualization

After installation of the visualization package, asreview should automatically detect it. Test this by:

asreview --help

It should list the 'plot' modus.

Basic usage

State files that were created with the same ASReview settings can be put together/averaged by putting them in the same directory. State files with different settings/datasets should be put in different directories to compare them.

As an example consider the following directory structure, where we have two datasets, called ace and ptsd, each of which have 8 runs:

├── ace
│   ├── results_0.h5
│   ├── results_1.h5
│   ├── results_2.h5
│   ├── results_3.h5
│   ├── results_4.h5
│   ├── results_5.h5
│   ├── results_6.h5
│   └── results_7.h5
└── ptsd
    ├── results_0.h5
    ├── results_1.h5
    ├── results_2.h5
    ├── results_3.h5
    ├── results_4.h5
    ├── results_5.h5
    ├── results_6.h5
    └── results_7.h5

Then we can plot the results by:

asreview plot ace ptsd

By default, the values shown are expressed as percentages of the total number of papers. Use the -a or --absolute-values flags to have them expressed in absolute numbers:

asreview plot ace ptsd --absolute-values

Plot types

There are currently four plot types implemented: inclusion, discovery, limit, progression. They can be individually selected with the -t or --type switch. Multiple plots can be made by using , as a separator:

asreview plot ace ptsd --type 'inclusion,discovery'

Inclusion

This figure shows the number/percentage of included papers found as a function of the number/percentage of papers reviewed. Initial included/excluded papers are subtracted so that the line always starts at (0,0).

The quicker the line goes to a 100%, the better the performance.

Use --show-metric-labels to display the labels and values of WSS and RFF lines.

alt text

Discovery

This figure shows the distribution of the number of papers that have to be read before discovering each inclusion. Not every paper is equally hard to find.

The closer to the left, the better.

alt text

Limit

This figure shows how many papers need to be read with a given criterion. A criterion is expressed as "after reading y % of the papers, at most an average of z included papers have been not been seen by the reviewer, if he is using max sampling.". Here, y is shown on the y-axis, while three values of z are plotted as three different lines with the same color. The three values for z are 0.1, 0.5 and 2.0.

The quicker the lines touch the black (y=x) line, the better.

alt text

Progression

This figure shows the average inclusion rate as a function of time, number of papers read. The more concentrated on the left, the better. The thick line is the average of individual runs (thin lines). The visualization package will automatically detect which are directories and which are files. The curve is smoothed out by using a Gaussian smoothing algorithm.

alt text

API

To make use of the more advanced features, you can also use the visualization package as a library. The advantage is that you can make more reproducible plots where text, etc. is in the place you want it. Examples can be found in module asreviewcontrib.visualization.quick. Those are the scripts that are used for the command line interface.

from asreviewcontrib.visualization.plot import Plot

with Plot.from_paths(["PATH_1", "PATH_2"]) as plot:
	inc_plot = plot.new("inclusion")
	inc_plot.set_grid()
	inc_plot.set_xlim(0, 30)
	inc_plot.set_ylim(0, 101)
	inc_plot.set_legend()
	inc_plot.show()
	inc_plot.save("SOME_FILE.png")

Of course fill in PATH_1 and PATH_2 as the files you would like to plot.

If the customization is not sufficient, you can also directly manipulate the self.ax and self.fig attributes of the plotting class.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asreview-visualization-0.3.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

asreview_visualization-0.3-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file asreview-visualization-0.3.tar.gz.

File metadata

  • Download URL: asreview-visualization-0.3.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for asreview-visualization-0.3.tar.gz
Algorithm Hash digest
SHA256 43fc25ba0eb901079c1d97b48caa31d0754354a5647d1e307e290869b0313867
MD5 c11fd1e5b7c738e2e1d5a2e99b2172c4
BLAKE2b-256 e185de195c1007f0d3f126920e11cf56f675a549215081db3e70692fd54c60d7

See more details on using hashes here.

File details

Details for the file asreview_visualization-0.3-py3-none-any.whl.

File metadata

  • Download URL: asreview_visualization-0.3-py3-none-any.whl
  • Upload date:
  • Size: 18.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/53.0.0 requests-toolbelt/0.9.1 tqdm/4.56.2 CPython/3.9.1

File hashes

Hashes for asreview_visualization-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 7920aa421cdeb68fdc5c7aa8dc795a54eb8e09d733effd4dd4700e45fa8d95c4
MD5 fab3718a1a3a7689449723d6e4645874
BLAKE2b-256 52452fe59cfdd3d3be5e81a30795fc38b64f38dcec897c35d494b86af5cacb90

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page