Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

A package with tools for plotting metrics

Project description


|PyPI-Versions| |doc_badge|

Librairie to simplify plotting of metric like ROC curve, confusion matrix etc..


Using pip :

.. code:: sh

pip install plot-metric

Example BinaryClassification

Simple binary classification

Let's load a simple dataset and make a train & test set :

.. code:: python

    from sklearn.datasets import make_classification
    from sklearn.model_selection import train_test_split

    X, y = make_classification(n_samples=1000, n_classes=2, weights=[1,1], random_state=1)
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=2)

Train our classifier and predict our test set :

.. code:: python

    from sklearn.ensemble import RandomForestClassifier

    clf = RandomForestClassifier(n_estimators=50, random_state=23)
    model =, y_train)

    # Use predict_proba to predict probability of the class
    y_pred = clf.predict_proba(X_test)[:,1]

We can now use ``plot_metric`` to plot ROC Curve, distribution class and classification matrix :

.. code:: python

    # Visualisation with plot_metric
    bc = BinaryClassification(y_test, y_pred, labels=["Class 1", "Class 2"])

    # Figures
    plt.subplot2grid(shape=(2,6), loc=(0,0), colspan=2)
    plt.subplot2grid((2,6), (0,2), colspan=2)
    plt.subplot2grid((2,6), (0,4), colspan=2)
    plt.subplot2grid((2,6), (1,1), colspan=2)
    plt.subplot2grid((2,6), (1,3), colspan=2)

    >>>                    ________________________
    >>>                   |  Classification Report |
    >>>                    ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
    >>>               precision    recall  f1-score   support
    >>>            0       1.00      0.93      0.96        43
    >>>            1       0.96      1.00      0.98        71
    >>>    micro avg       0.97      0.97      0.97       114
    >>>    macro avg       0.98      0.97      0.97       114
    >>> weighted avg       0.97      0.97      0.97       114

.. image:: example/images/example_binary_classification.png

Custom parameters

It is possible to customize a lot of figures parameters. You can find all parameters with documentation on the official package documentation :
Or you can retrieve a python dictionnary with all available parameters with the following :

.. code:: python

    # Use the function get_function_parameters(function) to get parameters

    >>> {'threshold': None,
        'plot_threshold': True,
        'beta': 1,
        'linewidth': 2,
        'fscore_iso': [0.2, 0.4, 0.6, 0.8],
        'iso_alpha': 0.7,
        'y_text_margin': 0.03,
        'x_text_margin': 0.2,
        'c_pr_curve': 'black',
        'c_mean_prec': 'red',
        'c_thresh': 'black',
        'c_f1_iso': 'grey',
        'c_thresh_point': 'red',
        'ls_pr_curve': '-',
        'ls_mean_prec': '--',
        'ls_thresh': ':',
        'ls_fscore_iso': ':',
        'marker_pr_curve': None}

From a custom dictionnary you can set all parameters you want and plot a figures :

.. code:: python

    # Example custom param using dictionnary
    param_pr_plot = {
        'beta': 2,


.. image:: example/images/example_binary_class_PRCurve_custom.png

.. |PyPI-Versions| image::

.. |doc_badge| image::
    :alt: Documentation Status

Project details

Download files

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

Files for plot-metric, version 0.0.6
Filename, size File type Python version Upload date Hashes
Filename, size plot_metric-0.0.6-py3-none-any.whl (13.9 kB) File type Wheel Python version py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page