2020-05-19 10:03:35 +02:00

37 lines
1.2 KiB
Python

try:
import matplotlib.pyplot as plt
except ImportError: # pragma: no-cover
raise ImportError('You want to use `matplotlib` plugins which are not installed yet,' # pragma: no-cover
' install it with `pip install matplotlib`.')
from pathlib import Path
class Plotter(object):
def __init__(self, root_path=''):
self.root_path = Path(root_path)
def save_current_figure(self, path, extention='.png', naked=True):
fig, _ = plt.gcf(), plt.gca()
# Prepare save location and check img file extention
path = self.root_path / Path(path if str(path).endswith(extention) else f'{str(path)}{extention}')
path.parent.mkdir(exist_ok=True, parents=True)
if naked:
plt.axis('off')
fig.savefig(path, bbox_inches='tight', transparent=True, pad_inches=0)
fig.clf()
else:
fig.savefig(path)
fig.clf()
def show_current_figure(self):
fig, _ = plt.gcf(), plt.gca()
fig.show()
fig.clf()
if __name__ == '__main__':
output_root = Path('..') / 'output'
p = Plotter(output_root)
p.save_current_figure('test.png')