Pull out set_size for figures into own module
This commit is contained in:
parent
70df977434
commit
538c511d25
39
classification/evaluation/helpers.py
Normal file
39
classification/evaluation/helpers.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import matplotlib.pyplot as plt
|
||||||
|
import pandas as pd
|
||||||
|
import numpy as np
|
||||||
|
import seaborn as sns
|
||||||
|
|
||||||
|
|
||||||
|
def set_size(width, fraction=1, subplots=(1, 1)):
|
||||||
|
"""Set figure dimensions to avoid scaling in LaTeX.
|
||||||
|
|
||||||
|
Parameters
|
||||||
|
----------
|
||||||
|
width: float
|
||||||
|
Document textwidth or columnwidth in pts
|
||||||
|
fraction: float, optional
|
||||||
|
Fraction of the width which you wish the figure to occupy
|
||||||
|
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
fig_dim: tuple
|
||||||
|
Dimensions of figure in inches
|
||||||
|
"""
|
||||||
|
# Width of figure (in pts)
|
||||||
|
fig_width_pt = width * fraction
|
||||||
|
|
||||||
|
# Convert from pt to inches
|
||||||
|
inches_per_pt = 1 / 72.27
|
||||||
|
|
||||||
|
# Golden ratio to set aesthetic figure height
|
||||||
|
# https://disq.us/p/2940ij3
|
||||||
|
golden_ratio = (5**.5 - 1) / 2
|
||||||
|
|
||||||
|
# Figure width in inches
|
||||||
|
fig_width_in = fig_width_pt * inches_per_pt
|
||||||
|
# Figure height in inches
|
||||||
|
fig_height_in = fig_width_in * golden_ratio * (subplots[0] / subplots[1])
|
||||||
|
|
||||||
|
fig_dim = (fig_width_in, fig_height_in)
|
||||||
|
|
||||||
|
return fig_dim
|
||||||
Loading…
x
Reference in New Issue
Block a user