1""" 2=================== 3Fonts demo (kwargs) 4=================== 5 6Set font properties using kwargs. 7 8See :doc:`fonts_demo` to achieve the same effect using setters. 9""" 10 11from matplotlib.font_manager import FontProperties 12import matplotlib.pyplot as plt 13import numpy as np 14 15plt.subplot(111, facecolor='w') 16alignment = {'horizontalalignment': 'center', 'verticalalignment': 'baseline'} 17 18# Show family options 19 20families = ['serif', 'sans-serif', 'cursive', 'fantasy', 'monospace'] 21 22t = plt.text(-0.8, 0.9, 'family', size='large', **alignment) 23 24yp = [0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2] 25 26for k, family in enumerate(families): 27 t = plt.text(-0.8, yp[k], family, family=family, **alignment) 28 29# Show style options 30 31styles = ['normal', 'italic', 'oblique'] 32 33t = plt.text(-0.4, 0.9, 'style', **alignment) 34 35for k, style in enumerate(styles): 36 t = plt.text(-0.4, yp[k], style, family='sans-serif', style=style, 37 **alignment) 38 39# Show variant options 40 41variants = ['normal', 'small-caps'] 42 43t = plt.text(0.0, 0.9, 'variant', **alignment) 44 45for k, variant in enumerate(variants): 46 t = plt.text(0.0, yp[k], variant, family='serif', variant=variant, 47 **alignment) 48 49# Show weight options 50 51weights = ['light', 'normal', 'medium', 'semibold', 'bold', 'heavy', 'black'] 52 53t = plt.text(0.4, 0.9, 'weight', **alignment) 54 55for k, weight in enumerate(weights): 56 t = plt.text(0.4, yp[k], weight, weight=weight, 57 **alignment) 58 59# Show size options 60 61sizes = ['xx-small', 'x-small', 'small', 'medium', 'large', 62 'x-large', 'xx-large'] 63 64t = plt.text(0.8, 0.9, 'size', **alignment) 65 66for k, size in enumerate(sizes): 67 t = plt.text(0.8, yp[k], size, size=size, 68 **alignment) 69 70x = -0.4 71# Show bold italic 72t = plt.text(x, 0.1, 'bold italic', style='italic', 73 weight='bold', size='x-small', 74 **alignment) 75 76t = plt.text(x, 0.2, 'bold italic', 77 style='italic', weight='bold', size='medium', 78 **alignment) 79 80t = plt.text(x, 0.3, 'bold italic', 81 style='italic', weight='bold', size='x-large', 82 **alignment) 83 84plt.axis([-1, 1, 0, 1]) 85 86plt.show() 87