summaryrefslogtreecommitdiff
path: root/src/python/gudhi/persistence_graphical_tools.py
diff options
context:
space:
mode:
authorROUVREAU Vincent <vincent.rouvreau@inria.fr>2020-07-28 11:55:02 +0200
committerROUVREAU Vincent <vincent.rouvreau@inria.fr>2020-07-28 11:55:02 +0200
commit2bf81f9caa70e30a0e3a8eaf792243a9d4a2436b (patch)
tree8a168c573cbf8106af989d6ad8e452c9d3e9c04f /src/python/gudhi/persistence_graphical_tools.py
parent9938ed3c3beedbc7fc946068e3b7e47187a83903 (diff)
Add mechanism to deactivate LaTeX matplotlib rendering
Diffstat (limited to 'src/python/gudhi/persistence_graphical_tools.py')
-rw-r--r--src/python/gudhi/persistence_graphical_tools.py46
1 files changed, 29 insertions, 17 deletions
diff --git a/src/python/gudhi/persistence_graphical_tools.py b/src/python/gudhi/persistence_graphical_tools.py
index c6766c70..cce091d5 100644
--- a/src/python/gudhi/persistence_graphical_tools.py
+++ b/src/python/gudhi/persistence_graphical_tools.py
@@ -20,6 +20,20 @@ __author__ = "Vincent Rouvreau, Bertrand Michel, Theo Lacombe"
__copyright__ = "Copyright (C) 2016 Inria"
__license__ = "MIT"
+@lru_cache(maxsize=1)
+def _matplotlib_can_use_tex():
+ """This function returns True if matplotlib can deal with LaTeX, False otherwise.
+ The returned value is cached.
+ """
+ try:
+ from matplotlib import checkdep_usetex
+ return checkdep_usetex(True)
+ except ImportError:
+ print("This function is not available, you may be missing matplotlib.")
+
+
+_gudhi_matplotlib_use_tex = _matplotlib_can_use_tex()
+
def __min_birth_max_death(persistence, band=0.0):
"""This function returns (min_birth, max_death) from the persistence.
@@ -57,17 +71,6 @@ def _array_handler(a):
else:
return a
-@lru_cache(maxsize=1)
-def _matplotlib_can_use_tex():
- """This function returns True if matplotlib can deal with LaTeX, False otherwise.
- The returned value is cached.
- """
- try:
- from matplotlib import checkdep_usetex
- return checkdep_usetex(True)
- except ImportError:
- print("This function is not available, you may be missing matplotlib.")
-
def plot_persistence_barcode(
persistence=[],
@@ -117,10 +120,13 @@ def plot_persistence_barcode(
try:
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
- if _matplotlib_can_use_tex():
- from matplotlib import rc
+ from matplotlib import rc
+ if _gudhi_matplotlib_use_tex:
plt.rc('text', usetex=True)
plt.rc('font', family='serif')
+ else:
+ plt.rc('text', usetex=False)
+ plt.rc('font', family='DejaVu Sans')
if persistence_file != "":
if path.isfile(persistence_file):
@@ -263,10 +269,13 @@ def plot_persistence_diagram(
try:
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
- if _matplotlib_can_use_tex():
- from matplotlib import rc
+ from matplotlib import rc
+ if _gudhi_matplotlib_use_tex:
plt.rc('text', usetex=True)
plt.rc('font', family='serif')
+ else:
+ plt.rc('text', usetex=False)
+ plt.rc('font', family='DejaVu Sans')
if persistence_file != "":
if path.isfile(persistence_file):
@@ -436,10 +445,13 @@ def plot_persistence_density(
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
from scipy.stats import kde
- if _matplotlib_can_use_tex():
- from matplotlib import rc
+ from matplotlib import rc
+ if _gudhi_matplotlib_use_tex:
plt.rc('text', usetex=True)
plt.rc('font', family='serif')
+ else:
+ plt.rc('text', usetex=False)
+ plt.rc('font', family='DejaVu Sans')
if persistence_file != "":
if dimension is None: