From da04534343ef64649ec0f253f7d7baf987ad4421 Mon Sep 17 00:00:00 2001 From: Alice BRENON <alice.brenon@ens-lyon.fr> Date: Thu, 21 Mar 2024 15:10:51 +0100 Subject: [PATCH] Expose label-trimming logic as a separate module for reuse --- GEODE/Visualisation/ConfusionMatrix.py | 13 ++----------- GEODE/Visualisation/__init__.py | 1 + GEODE/__init__.py | 2 +- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/GEODE/Visualisation/ConfusionMatrix.py b/GEODE/Visualisation/ConfusionMatrix.py index af140f3..042ddca 100644 --- a/GEODE/Visualisation/ConfusionMatrix.py +++ b/GEODE/Visualisation/ConfusionMatrix.py @@ -1,20 +1,11 @@ import argparse from GEODE.Store import prepare, tabular +from GEODE.Visualisation.Legend import trim import matplotlib.pyplot as plot import pandas import seaborn from sklearn.metrics import confusion_matrix -def trim(name, maxSize): - if len(name) > maxSize: - components = name.split(' ') - return components[0] + ' […]' - else: - return name - -def trimLabels(labels, maxWidth): - return labels if maxWidth is None else [trim(l, maxWidth) for l in labels] - def heatmap(matrix, filePath, labels, **kwargs): plot.figure(figsize=(16,13)) ax = seaborn.heatmap( @@ -46,7 +37,7 @@ def prepareData(data, labels=None): def drawConfusionMatrix(data, outputFile, labels=None, maxWidth=None, **kwargs): truth, answers, labels = prepareData(data, labels=labels) matrix = confusion_matrix(truth, answers, labels=labels, normalize='true') - heatmap(matrix, outputFile, trimLabels(labels, maxWidth), **kwargs) + heatmap(matrix, outputFile, trim(labels, maxWidth), **kwargs) def getArgs(arguments): cli = argparse.ArgumentParser( diff --git a/GEODE/Visualisation/__init__.py b/GEODE/Visualisation/__init__.py index 981a917..2eb7bce 100644 --- a/GEODE/Visualisation/__init__.py +++ b/GEODE/Visualisation/__init__.py @@ -1,2 +1,3 @@ from GEODE.Visualisation.ConfusionMatrix import drawConfusionMatrix, heatmap from GEODE.Visualisation.DensityProfile import densityProfile, drawDensityProfile, plotDensity +from GEODE.Visualisation.Legend import trim as legend diff --git a/GEODE/__init__.py b/GEODE/__init__.py index 563bce7..e7735f5 100644 --- a/GEODE/__init__.py +++ b/GEODE/__init__.py @@ -23,7 +23,7 @@ from GEODE.ENE import eneLabels from GEODE.Metadata import article, articleKey, paragraph, paragraphKey, \ fromKey, relativePath, toKey, uid from GEODE.Store import corpus, Directory, SelfContained, tabular, toTSV -from GEODE.Visualisation import densityProfile, heatmap +from GEODE.Visualisation import densityProfile, heatmap, legend from GEODE.Visualisation.ConfusionMatrix import drawConfusionMatrixCLI from GEODE.Visualisation.DensityProfile import drawDensityProfileCLI -- GitLab