Source code for wbia.plottool.custom_constants

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib as mpl
import utool as ut

# (print, print_, printDBG, rrr, profile) = utool.inject(__name__, '[custom_constants]', DEBUG=False)
ut.noinject(__name__, '[custom_constants]')
# GENERAL FONTS

SMALLEST = 6
SMALLER = 8
SMALL = 10
MED = 12
LARGE = 14
LARGER = 18
# fpargs = dict(family=None, style=None, variant=None, stretch=None, fname=None)


[docs]def FontProp(*args, **kwargs): r"""overwrite fontproperties with custom settings Kwargs: fname=u'', name=u'', style=u'normal', variant=u'normal', weight=u'normal', stretch=u'normal', size=u'medium' """ kwargs['family'] = 'monospace' font_prop = mpl.font_manager.FontProperties(*args, **kwargs) return font_prop
FONTS = ut.DynStruct() FONTS.smallest = FontProp(weight='light', size=SMALLEST) FONTS.small = FontProp(weight='light', size=SMALL) FONTS.smaller = FontProp(weight='light', size=SMALLER) FONTS.med = FontProp(weight='light', size=MED) FONTS.large = FontProp(weight='light', size=LARGE) FONTS.medbold = FontProp(weight='bold', size=MED) FONTS.largebold = FontProp(weight='bold', size=LARGE) # SPECIFIC FONTS if False: # personal FONTS.legend = FONTS.small FONTS.figtitle = FONTS.med FONTS.axtitle = FONTS.small FONTS.subtitle = FONTS.med # FONTS.xlabel = FONTS.smaller FONTS.xlabel = FONTS.small FONTS.ylabel = FONTS.small FONTS.relative = FONTS.smallest else: # personal FONTS.legend = FONTS.med FONTS.figtitle = FONTS.large FONTS.axtitle = FONTS.med FONTS.subtitle = FONTS.med # FONTS.xlabel = FONTS.smaller FONTS.xlabel = FONTS.med FONTS.ylabel = FONTS.med FONTS.relative = FONTS.med # COLORS RED = np.array((255, 0, 0, 255)) / 255.0 YELLOW = np.array((255, 255, 0, 255)) / 255.0 GREEN = np.array((0, 255, 0, 255)) / 255.0 CYAN = np.array((0, 255, 255, 255)) / 255.0 BLUE = np.array((0, 0, 255, 255)) / 255.0 MAGENTA = np.array((255, 0, 255, 255)) / 255.0 ORANGE = np.array((255, 127, 0, 255)) / 255.0 BLACK = np.array((0, 0, 0, 255)) / 255.0 WHITE = np.array((255, 255, 255, 255)) / 255.0 GRAY = np.array((127, 127, 127, 255)) / 255.0 LIGHTGRAY = np.array((220, 220, 220, 255)) / 255.0 DEEP_PINK = np.array((255, 20, 147, 255)) / 255.0 PINK = np.array((255, 100, 100, 255)) / 255.0 LIGHT_PINK = np.array((255, 200, 200, 255)) / 255.0 FALSE_RED = np.array((255, 51, 0, 255)) / 255.0 TRUE_GREEN = np.array((0, 255, 0, 255)) / 255.0 # TRUE_BLUE = np.array(( 0, 255, 255, 255)) / 255.0 TRUE_BLUE = np.array((0, 115, 207, 255)) / 255.0 DARK_GREEN = np.array((0, 127, 0, 255)) / 255.0 DARK_BLUE = np.array((0, 0, 127, 255)) / 255.0 DARK_RED = np.array((127, 0, 0, 255)) / 255.0 DARK_ORANGE = np.array((127, 63, 0, 255)) / 255.0 DARK_YELLOW = np.array((127, 127, 0, 255)) / 255.0 PURPLE = np.array((102, 0, 153, 255)) / 255.0 BRIGHT_PURPLE = np.array((255, 0, 255, 255)) / 255.0 LIGHT_PURPLE = np.array((255, 102, 255, 255)) / 255.0 BRIGHT_GREEN = np.array((39, 255, 20, 255)) / 255.0 PURPLE2 = np.array((150, 51, 200, 255)) / 255.0 LIGHT_BLUE = np.array((102, 100, 255, 255)) / 255.0 LIGHT_GREEN = np.array((102, 255, 102, 255)) / 255.0 NEUTRAL = np.array((225, 229, 231, 255)) / 255.0 NEUTRAL_BLUE = np.array((159, 159, 241, 255)) / 255.0 UNKNOWN_PURP = PURPLE # GOLDEN RATIOS PHI_numer = 1 + np.sqrt(5) PHI_denom = 2.0 PHI = PHI_numer / PHI_denom
[docs]def golden_wh2(sz): return (PHI * sz, sz)
[docs]def golden_wh(x): 'returns a width / height with a golden aspect ratio' return list(map(int, list(map(round, (x * 0.618, x * 0.312)))))
# FIGURE GEOMETRY DPI = 96 # FIGSIZE = (24) # default windows fullscreen FIGSIZE_MED = (12, 6) FIGSIZE_SQUARE = (12, 12) FIGSIZE_GOLD = golden_wh2(8) FIGSIZE_BIGGER = (24, 12) FIGSIZE_HUGE = (32, 16) # FIGSIZE = FIGSIZE_MED # Quality drawings FIGSIZE = FIGSIZE_GOLD