Created
March 22, 2012 15:30
-
-
Save mdboom/2159040 to your computer and use it in GitHub Desktop.
Test font styling support in matplotlib (#788)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import matplotlib | |
matplotlib.use("Agg") | |
from matplotlib import _get_data_path | |
data_path = _get_data_path() | |
def find_matplotlib_font(**kw): | |
prop = FontProperties(**kw) | |
path = findfont(prop, directory=data_path) | |
return FontProperties(fname=path) | |
from matplotlib.font_manager import FontProperties, findfont | |
import matplotlib.pyplot as plt | |
fig = plt.figure() | |
ax = plt.subplot( 1, 1, 1 ) | |
normalFont = find_matplotlib_font( family = "sans-serif", | |
style = "normal", | |
variant = "normal", | |
size = 14, | |
) | |
ax.annotate( "Normal Font", (0.1, 0.1), xycoords='axes fraction', | |
fontproperties = normalFont ) | |
boldFont = find_matplotlib_font( family = "Foo", | |
style = "normal", | |
variant = "normal", | |
weight = "bold", | |
stretch = 500, | |
size = 14, | |
) | |
ax.annotate( "Bold Font", (0.1, 0.2), xycoords='axes fraction', | |
fontproperties = boldFont ) | |
boldItemFont = find_matplotlib_font( family = "sans serif", | |
style = "italic", | |
variant = "normal", | |
weight = 750, | |
stretch = 500, | |
size = 14, | |
) | |
ax.annotate( "Bold Italic Font", (0.1, 0.3), xycoords='axes fraction', | |
fontproperties = boldItemFont ) | |
lightFont = find_matplotlib_font( family = "sans-serif", | |
style = "normal", | |
variant = "normal", | |
weight = 200, | |
stretch = 500, | |
size = 14, | |
) | |
ax.annotate( "Light Font", (0.1, 0.4), xycoords='axes fraction', | |
fontproperties = lightFont ) | |
condensedFont = find_matplotlib_font( family = "sans-serif", | |
style = "normal", | |
variant = "normal", | |
weight = 500, | |
stretch = 100, | |
size = 14, | |
) | |
ax.annotate( "Condensed Font", (0.1, 0.5), xycoords='axes fraction', | |
fontproperties = condensedFont ) | |
ax.set_xticks([]) | |
ax.set_yticks([]) | |
fig.savefig("test.png") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment