33# Author: Nicolas P. Rougier
44# License: BSD
55# ----------------------------------------------------------------------------
6+ import pathlib
7+
8+ import numpy as np
9+ import matplotlib as mpl
610import matplotlib .pyplot as plt
711import matplotlib .ticker as ticker
812
13+
14+ mpl .style .use ([
15+ pathlib .Path (__file__ ).parent / '../styles/base.mplstyle' ,
16+ pathlib .Path (__file__ ).parent / '../styles/ticks.mplstyle' ,
17+ ])
18+
19+
920# Setup a plot such that only the bottom spine is shown
1021
1122
1223def setup (ax ):
1324 """Set up Axes with just an x-Axis."""
14- ax .spines ['right' ].set_color ('none' )
15- ax .spines ['left' ].set_color ('none' )
1625 ax .yaxis .set_major_locator (ticker .NullLocator ())
17- ax .spines ['top' ].set_color ('none' )
18- ax .xaxis .set_ticks_position ('bottom' )
19- ax .tick_params (which = 'major' , width = 1.00 , length = 5 )
20- ax .tick_params (which = 'minor' , width = 0.75 , length = 2.5 , labelsize = 10 )
2126 ax .set_xlim (0 , 5 )
2227 ax .set_ylim (0 , 1 )
2328 ax .patch .set_alpha (0.0 )
2429
2530
26- fig = plt .figure (figsize = (8 , 5 ))
31+ fig = plt .figure (figsize = (5.7 / 2.54 , 3.8 / 2.54 ))
2732fig .patch .set_alpha (0.0 )
2833n = 7
2934
30- fontsize = 18
31- family = "Source Code Pro"
32-
3335# Null formatter
3436ax = fig .add_subplot (n , 1 , 1 )
3537setup (ax )
3638ax .xaxis .set_major_locator (ticker .MultipleLocator (1.00 ))
3739ax .xaxis .set_minor_locator (ticker .MultipleLocator (0.25 ))
3840ax .xaxis .set_major_formatter (ticker .NullFormatter ())
3941ax .xaxis .set_minor_formatter (ticker .NullFormatter ())
40- ax .text (0.0 , 0.1 , "ticker.NullFormatter()" , family = family ,
41- fontsize = fontsize , transform = ax .transAxes )
42+ ax .text (0.0 , 0.1 , "ticker.NullFormatter()" , transform = ax .transAxes )
4243
4344# Fixed formatter
4445ax = fig .add_subplot (n , 1 , 2 )
@@ -47,8 +48,7 @@ def setup(ax):
4748ax .xaxis .set_major_locator (ticker .FixedLocator (range (6 )))
4849majors = ["zero" , "one" , "two" , "three" , "four" , "five" ]
4950ax .xaxis .set_major_formatter (ticker .FixedFormatter (majors ))
50- ax .text (0.0 , 0.1 , "ticker.FixedFormatter(['zero', 'one', 'two', …])" ,
51- family = family , fontsize = fontsize , transform = ax .transAxes )
51+ ax .text (0.0 , 0.1 , "ticker.FixedFormatter(['zero', 'one', 'two', …])" , transform = ax .transAxes )
5252
5353
5454# FuncFormatter can be used as a decorator
@@ -63,8 +63,7 @@ def major_formatter(x, pos):
6363ax .xaxis .set_major_locator (ticker .MultipleLocator (1.00 ))
6464ax .xaxis .set_minor_locator (ticker .MultipleLocator (0.25 ))
6565ax .xaxis .set_major_formatter (major_formatter )
66- ax .text (0.0 , 0.1 , 'ticker.FuncFormatter(lambda x, pos: "[%.2f]" % x)' ,
67- family = family , fontsize = fontsize , transform = ax .transAxes )
66+ ax .text (0.0 , 0.1 , 'ticker.FuncFormatter(lambda x, pos: "[%.2f]" % x)' , transform = ax .transAxes )
6867
6968
7069# FormatStr formatter
@@ -73,39 +72,31 @@ def major_formatter(x, pos):
7372ax .xaxis .set_major_locator (ticker .MultipleLocator (1.00 ))
7473ax .xaxis .set_minor_locator (ticker .MultipleLocator (0.25 ))
7574ax .xaxis .set_major_formatter (ticker .FormatStrFormatter (">%d<" ))
76- ax .text (0.0 , 0.1 , "ticker.FormatStrFormatter('>%d<')" ,
77- family = family , fontsize = fontsize , transform = ax .transAxes )
75+ ax .text (0.0 , 0.1 , "ticker.FormatStrFormatter('>%d<')" , transform = ax .transAxes )
7876
7977# Scalar formatter
8078ax = fig .add_subplot (n , 1 , 5 )
8179setup (ax )
8280ax .xaxis .set_major_locator (ticker .AutoLocator ())
8381ax .xaxis .set_minor_locator (ticker .AutoMinorLocator ())
8482ax .xaxis .set_major_formatter (ticker .ScalarFormatter (useMathText = True ))
85- ax .text (0.0 , 0.1 , "ticker.ScalarFormatter()" ,
86- family = family , fontsize = fontsize , transform = ax .transAxes )
83+ ax .text (0.0 , 0.1 , "ticker.ScalarFormatter()" , transform = ax .transAxes )
8784
8885# StrMethod formatter
8986ax = fig .add_subplot (n , 1 , 6 )
9087setup (ax )
9188ax .xaxis .set_major_locator (ticker .MultipleLocator (1.00 ))
9289ax .xaxis .set_minor_locator (ticker .MultipleLocator (0.25 ))
9390ax .xaxis .set_major_formatter (ticker .StrMethodFormatter ("{x}" ))
94- ax .text (0.0 , 0.1 , "ticker.StrMethodFormatter('{x}')" ,
95- family = family , fontsize = fontsize , transform = ax .transAxes )
91+ ax .text (0.0 , 0.1 , "ticker.StrMethodFormatter('{x}')" , transform = ax .transAxes )
9692
9793# Percent formatter
9894ax = fig .add_subplot (n , 1 , 7 )
9995setup (ax )
10096ax .xaxis .set_major_locator (ticker .MultipleLocator (1.00 ))
10197ax .xaxis .set_minor_locator (ticker .MultipleLocator (0.25 ))
10298ax .xaxis .set_major_formatter (ticker .PercentFormatter (xmax = 5 ))
103- ax .text (0.0 , 0.1 , "ticker.PercentFormatter(xmax=5)" ,
104- family = family , fontsize = fontsize , transform = ax .transAxes )
105-
106- # Push the top of the top axes outside the figure because we only show the
107- # bottom spine.
108- fig .subplots_adjust (left = 0.05 , right = 0.95 , bottom = 0.05 , top = 1.05 )
99+ ax .text (0.0 , 0.1 , "ticker.PercentFormatter(xmax=5)" , transform = ax .transAxes )
109100
110- plt .savefig ("../figures/tick-formatters.pdf" , transparent = True )
101+ plt .savefig ("../figures/tick-formatters.pdf" )
111102# plt.show()
0 commit comments