From 6deb11074e30a3e07e439837a1f909147284ac4d Mon Sep 17 00:00:00 2001
From: Mark Driver <mdd31@cam.ac.uk>
Date: Fri, 7 Jul 2017 22:45:21 +0100
Subject: [PATCH] created script for plotting similarity maps.

---
 .../polynomialsimilaritymatrixplotting.py     | 43 +++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 solventmapcreator/polynomialanalysis/polynomialsimilaritymatrixplotting.py

diff --git a/solventmapcreator/polynomialanalysis/polynomialsimilaritymatrixplotting.py b/solventmapcreator/polynomialanalysis/polynomialsimilaritymatrixplotting.py
new file mode 100644
index 0000000..c17331c
--- /dev/null
+++ b/solventmapcreator/polynomialanalysis/polynomialsimilaritymatrixplotting.py
@@ -0,0 +1,43 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+"""
+Script for plotting the similarity Matrix information as a graph, for
+graphical comparison.
+
+@author: mark
+"""
+
+import logging
+import numpy as np
+import matplotlib.pyplot as plt
+import resultsanalysis.resultsoutput.plottinginput as plottinginput
+
+logging.basicConfig()
+LOGGER = logging.getLogger(__name__)
+LOGGER.setLevel(logging.WARN)
+
+def create_similarity_matrix(input_data, filename_stem, **kwargs):
+    """This creates the similarity plot for the given data and outputs to file.
+    """
+    simil_plot, simil_plot_axis = create_similarity_matrix(input_data, **kwargs)
+    fileformat = kwargs.get("fileformat", "eps")
+    output_filename = filename_stem + fileformat
+    plt.savefig(output_filename, format=fileformat)
+    plt.close(simil_plot)
+
+def plot_similarity_matrix(input_data, **kwargs):
+    """This creates the similarity plot for the given input data.
+    """
+    simil_plot, simil_plot_axis = create_plot_with_axis(kwargs.get("figsize",
+                                                                   plottinginput.FIGURE_SIZES['similarity_matrix']))
+    mat_ax = simil_plot_axis.matshow(input_data["value_matrix"], interpolation="nearest")
+    simil_plot_axis.grid(True)
+    simil_plot_axis.xticks(range(len(input_data["labels"])), input_data["labels"])
+    simil_plot_axis.yticks(range(len(input_data["labels"])), input_data["labels"])
+    simil_plot.colorbar(mat_ax)
+    return simil_plot, simil_plot_axis
+
+def create_plot_with_axis(figsize):
+    """This creates the plot and axis.
+    """
+    return plottinginput.create_plot_with_axis(figsize)
-- 
GitLab