Skip to content

Commit c44d32b

Browse files
committed
revert some changes
1 parent e4c6b67 commit c44d32b

File tree

4 files changed

+133
-86
lines changed

4 files changed

+133
-86
lines changed

Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,14 @@ figures:
1717
# crop some of the figures
1818
cd figures && pdfcrop adjustments.pdf adjustments.pdf
1919
cd figures && pdfcrop annotate.pdf annotate.pdf
20+
cd figures && pdfcrop annotation-arrow-styles.pdf annotation-arrow-styles.pdf
2021
cd figures && pdfcrop anatomy.pdf anatomy.pdf
2122
cd figures && pdfcrop colornames.pdf colornames.pdf
2223
cd figures && pdfcrop fonts.pdf fonts.pdf
2324
cd figures && pdfcrop markers.pdf markers.pdf
2425
cd figures && pdfcrop text-alignments.pdf text-alignments.pdf
26+
cd figures && pdfcrop tick-formatters.pdf tick-formatters.pdf
27+
cd figures && pdfcrop tick-locators.pdf tick-locators.pdf
2528
cd figures && pdfcrop tip-font-family.pdf tip-font-family.pdf
2629
cd figures && pdfcrop tip-hatched.pdf tip-hatched.pdf
2730

scripts/annotation-arrow-styles.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
import pathlib
2-
3-
import matplotlib as mpl
41
import matplotlib.pyplot as plt
52
import matplotlib.patches as mpatches
63

4+
styles = mpatches.ArrowStyle.get_styles()
5+
76

8-
mpl.style.use([
9-
pathlib.Path(__file__).parent/'../styles/base.mplstyle',
10-
pathlib.Path(__file__).parent/'../styles/plotlet-grid.mplstyle',
11-
])
7+
def demo_con_style(ax, connectionstyle):
8+
ax.text(.05, .95, connectionstyle.replace(",", ",\n"),
9+
family="Source Code Pro",
10+
transform=ax.transAxes, ha="left", va="top", size="x-small")
1211

1312

14-
(fig, axes) = plt.subplots(4, 4, figsize=(5.7/2.54, 1.5), frameon=True)
13+
(fig, axes) = plt.subplots(4, 4, figsize=(4, 2.5), frameon=False)
1514
for ax in axes.flatten():
1615
ax.axis("off")
1716
for i, (ax, style) in enumerate(zip(axes.flatten(), mpatches.ArrowStyle.get_styles())):
@@ -22,13 +21,13 @@
2221
xy=(x0, y0), xycoords='data',
2322
xytext=(x1, y1), textcoords='data',
2423
arrowprops=dict(arrowstyle=style,
25-
mutation_scale=10,
2624
color="black",
2725
shrinkA=5, shrinkB=5,
2826
patchA=None, patchB=None,
2927
connectionstyle="arc3,rad=0"))
3028
ax.text( (x1+x0)/2, y0-0.2, style,
3129
transform=ax.transAxes,
32-
ha="center", va="top", fontsize=8)
30+
family="Source Code Pro", ha="center", va="top")
3331

3432
plt.savefig("../figures/annotation-arrow-styles.pdf")
33+
# plt.show()

scripts/tick-formatters.py

Lines changed: 63 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -3,84 +3,109 @@
33
# Author: Nicolas P. Rougier
44
# License: BSD
55
# ----------------------------------------------------------------------------
6-
import pathlib
7-
8-
import numpy as np
9-
import matplotlib as mpl
106
import matplotlib.pyplot as plt
117
import matplotlib.ticker as ticker
128

9+
# Setup a plot such that only the bottom spine is shown
10+
1311

14-
mpl.style.use([
15-
pathlib.Path(__file__).parent/'../styles/base.mplstyle',
16-
pathlib.Path(__file__).parent/'../styles/ticks.mplstyle',
17-
])
12+
def setup(ax):
13+
"""Set up Axes with just an x-Axis."""
14+
ax.spines['right'].set_color('none')
15+
ax.spines['left'].set_color('none')
16+
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)
21+
ax.set_xlim(0, 5)
22+
ax.set_ylim(0, 1)
23+
ax.patch.set_alpha(0.0)
1824

1925

20-
subplots_kw = dict(
21-
figsize=(5.7/2.54, 3.5/2.54),
22-
nrows=7,
23-
subplot_kw=dict(xlim=(0, 5), ylim=(0, 1))
24-
)
26+
fig = plt.figure(figsize=(8, 5))
27+
fig.patch.set_alpha(0.0)
28+
n = 7
2529

26-
(fig, axs) = plt.subplots(**subplots_kw)
30+
fontsize = 18
31+
family = "Source Code Pro"
2732

2833
# Null formatter
29-
ax = axs[0]
34+
ax = fig.add_subplot(n, 1, 1)
35+
setup(ax)
3036
ax.xaxis.set_major_locator(ticker.MultipleLocator(1.00))
3137
ax.xaxis.set_minor_locator(ticker.MultipleLocator(0.25))
3238
ax.xaxis.set_major_formatter(ticker.NullFormatter())
3339
ax.xaxis.set_minor_formatter(ticker.NullFormatter())
34-
ax.text(0.0, 0.2, "ticker.NullFormatter()",
35-
fontfamily="Source Code Pro", transform=ax.transAxes, in_layout=False)
40+
ax.text(0.0, 0.1, "ticker.NullFormatter()", family=family,
41+
fontsize=fontsize, transform=ax.transAxes)
3642

3743
# Fixed formatter
38-
ax = axs[1]
44+
ax = fig.add_subplot(n, 1, 2)
45+
setup(ax)
3946
ax.xaxis.set_minor_locator(ticker.MultipleLocator(0.25))
4047
ax.xaxis.set_major_locator(ticker.FixedLocator(range(6)))
4148
majors = ["zero", "one", "two", "three", "four", "five"]
4249
ax.xaxis.set_major_formatter(ticker.FixedFormatter(majors))
43-
ax.text(0.0, 0.2, "ticker.FixedFormatter(['zero', 'one', 'two', …])",
44-
fontfamily="Source Code Pro", transform=ax.transAxes, in_layout=False)
50+
ax.text(0.0, 0.1, "ticker.FixedFormatter(['zero', 'one', 'two', …])",
51+
family=family, fontsize=fontsize, transform=ax.transAxes)
52+
53+
54+
# FuncFormatter can be used as a decorator
55+
@ticker.FuncFormatter
56+
def major_formatter(x, pos):
57+
"""Return formatted value with 2 decimal places."""
58+
return "[%.2f]" % x
4559

46-
# FuncFormatter formatter
47-
ax = axs[2]
60+
61+
ax = fig.add_subplot(n, 1, 3)
62+
setup(ax)
4863
ax.xaxis.set_major_locator(ticker.MultipleLocator(1.00))
4964
ax.xaxis.set_minor_locator(ticker.MultipleLocator(0.25))
50-
ax.xaxis.set_major_formatter(ticker.FuncFormatter(lambda x, pos: "[%.2f]" % x))
51-
ax.text(0.0, 0.2, 'ticker.FuncFormatter(lambda x, pos: "[%.2f]" % x)',
52-
fontfamily="Source Code Pro", transform=ax.transAxes, in_layout=False)
65+
ax.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)
68+
5369

5470
# FormatStr formatter
55-
ax = axs[3]
71+
ax = fig.add_subplot(n, 1, 4)
72+
setup(ax)
5673
ax.xaxis.set_major_locator(ticker.MultipleLocator(1.00))
5774
ax.xaxis.set_minor_locator(ticker.MultipleLocator(0.25))
5875
ax.xaxis.set_major_formatter(ticker.FormatStrFormatter(">%d<"))
59-
ax.text(0.0, 0.2, "ticker.FormatStrFormatter('>%d<')",
60-
fontfamily="Source Code Pro", transform=ax.transAxes, in_layout=False)
76+
ax.text(0.0, 0.1, "ticker.FormatStrFormatter('>%d<')",
77+
family=family, fontsize=fontsize, transform=ax.transAxes)
6178

6279
# Scalar formatter
63-
ax = axs[4]
80+
ax = fig.add_subplot(n, 1, 5)
81+
setup(ax)
6482
ax.xaxis.set_major_locator(ticker.AutoLocator())
6583
ax.xaxis.set_minor_locator(ticker.AutoMinorLocator())
6684
ax.xaxis.set_major_formatter(ticker.ScalarFormatter(useMathText=True))
67-
ax.text(0.0, 0.2, "ticker.ScalarFormatter()",
68-
fontfamily="Source Code Pro", transform=ax.transAxes, in_layout=False)
85+
ax.text(0.0, 0.1, "ticker.ScalarFormatter()",
86+
family=family, fontsize=fontsize, transform=ax.transAxes)
6987

7088
# StrMethod formatter
71-
ax = axs[5]
89+
ax = fig.add_subplot(n, 1, 6)
90+
setup(ax)
7291
ax.xaxis.set_major_locator(ticker.MultipleLocator(1.00))
7392
ax.xaxis.set_minor_locator(ticker.MultipleLocator(0.25))
7493
ax.xaxis.set_major_formatter(ticker.StrMethodFormatter("{x}"))
75-
ax.text(0.0, 0.2, "ticker.StrMethodFormatter('{x}')",
76-
fontfamily="Source Code Pro", transform=ax.transAxes, in_layout=False)
94+
ax.text(0.0, 0.1, "ticker.StrMethodFormatter('{x}')",
95+
family=family, fontsize=fontsize, transform=ax.transAxes)
7796

7897
# Percent formatter
79-
ax = axs[6]
98+
ax = fig.add_subplot(n, 1, 7)
99+
setup(ax)
80100
ax.xaxis.set_major_locator(ticker.MultipleLocator(1.00))
81101
ax.xaxis.set_minor_locator(ticker.MultipleLocator(0.25))
82102
ax.xaxis.set_major_formatter(ticker.PercentFormatter(xmax=5))
83-
ax.text(0.0, 0.2, "ticker.PercentFormatter(xmax=5)",
84-
fontfamily="Source Code Pro", transform=ax.transAxes, in_layout=False)
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)
85109

86-
fig.savefig("../figures/tick-formatters.pdf")
110+
plt.savefig("../figures/tick-formatters.pdf", transparent=True)
111+
# plt.show()

scripts/tick-locators.py

Lines changed: 58 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -3,85 +3,105 @@
33
# Author: Nicolas P. Rougier
44
# License: BSD
55
# ----------------------------------------------------------------------------
6-
import pathlib
7-
86
import numpy as np
9-
import matplotlib as mpl
107
import matplotlib.pyplot as plt
118
import matplotlib.ticker as ticker
129

10+
# Setup a plot such that only the bottom spine is shown
11+
1312

14-
mpl.style.use([
15-
pathlib.Path(__file__).parent/'../styles/base.mplstyle',
16-
pathlib.Path(__file__).parent/'../styles/ticks.mplstyle',
17-
])
13+
def setup(ax):
14+
ax.spines['right'].set_color('none')
15+
ax.spines['left'].set_color('none')
16+
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)
20+
ax.tick_params(which='major', length=5)
21+
ax.tick_params(which='minor', width=0.75)
22+
ax.tick_params(which='minor', length=2.5)
23+
ax.set_xlim(0, 5)
24+
ax.set_ylim(0, 1)
25+
ax.patch.set_alpha(0.0)
1826

1927

20-
subplots_kw = dict(
21-
figsize=(5.7/2.54, 4/2.54),
22-
nrows=8,
23-
subplot_kw=dict(xlim=(0, 5), ylim=(0, 1)),
24-
)
28+
fig = plt.figure(figsize=(8, 5))
29+
fig.patch.set_alpha(0.0)
30+
n = 8
2531

26-
(fig, axs) = plt.subplots(**subplots_kw)
32+
fontsize = 18
33+
family = "Source Code Pro"
2734

2835
# Null Locator
29-
ax = axs[0]
36+
ax = plt.subplot(n, 1, 1)
37+
setup(ax)
3038
ax.xaxis.set_major_locator(ticker.NullLocator())
3139
ax.xaxis.set_minor_locator(ticker.NullLocator())
32-
ax.text(0.0, 0.2, "ticker.NullLocator()",
33-
fontfamily='Source Code Pro', transform=ax.transAxes, in_layout=False)
40+
ax.text(0.0, 0.1, "ticker.NullLocator()",
41+
family=family, fontsize=fontsize, transform=ax.transAxes)
3442

3543
# Multiple Locator
36-
ax = axs[1]
44+
ax = plt.subplot(n, 1, 2)
45+
setup(ax)
3746
ax.xaxis.set_major_locator(ticker.MultipleLocator(0.5))
3847
ax.xaxis.set_minor_locator(ticker.MultipleLocator(0.1))
39-
ax.text(0.0, 0.2, "ticker.MultipleLocator(0.5)",
40-
fontfamily='Source Code Pro', transform=ax.transAxes, in_layout=False)
48+
ax.text(0.0, 0.1, "ticker.MultipleLocator(0.5)",
49+
family=family, fontsize=fontsize, transform=ax.transAxes)
4150

4251
# Fixed Locator
43-
ax = axs[2]
52+
ax = plt.subplot(n, 1, 3)
53+
setup(ax)
4454
majors = [0, 1, 5]
4555
ax.xaxis.set_major_locator(ticker.FixedLocator(majors))
4656
minors = np.linspace(0, 1, 11)[1:-1]
4757
ax.xaxis.set_minor_locator(ticker.FixedLocator(minors))
48-
ax.text(0.0, 0.2, "ticker.FixedLocator([0, 1, 5])",
49-
fontfamily='Source Code Pro', transform=ax.transAxes, in_layout=False)
58+
ax.text(0.0, 0.1, "ticker.FixedLocator([0, 1, 5])",
59+
family=family, fontsize=fontsize, transform=ax.transAxes)
5060

5161
# Linear Locator
52-
ax = axs[3]
62+
ax = plt.subplot(n, 1, 4)
63+
setup(ax)
5364
ax.xaxis.set_major_locator(ticker.LinearLocator(3))
5465
ax.xaxis.set_minor_locator(ticker.LinearLocator(31))
55-
ax.text(0.0, 0.2, "ticker.LinearLocator(numticks=3)",
56-
fontfamily='Source Code Pro', transform=ax.transAxes, in_layout=False)
66+
ax.text(0.0, 0.1, "ticker.LinearLocator(numticks=3)",
67+
family=family, fontsize=fontsize, transform=ax.transAxes)
5768

5869
# Index Locator
59-
ax = axs[4]
70+
ax = plt.subplot(n, 1, 5)
71+
setup(ax)
6072
ax.plot(range(0, 5), [0]*5, color='white')
6173
ax.xaxis.set_major_locator(ticker.IndexLocator(base=.5, offset=.25))
62-
ax.text(0.0, 0.2, "ticker.IndexLocator(base=0.5, offset=0.25)",
63-
fontfamily='Source Code Pro', transform=ax.transAxes, in_layout=False)
74+
ax.text(0.0, 0.1, "ticker.IndexLocator(base=0.5, offset=0.25)",
75+
family=family, fontsize=fontsize, transform=ax.transAxes)
6476

6577
# Auto Locator
66-
ax = axs[5]
78+
ax = plt.subplot(n, 1, 6)
79+
setup(ax)
6780
ax.xaxis.set_major_locator(ticker.AutoLocator())
6881
ax.xaxis.set_minor_locator(ticker.AutoMinorLocator())
69-
ax.text(0.0, 0.2, "ticker.AutoLocator()",
70-
fontfamily='Source Code Pro', transform=ax.transAxes, in_layout=False)
82+
ax.text(0.0, 0.1, "ticker.AutoLocator()",
83+
family=family, fontsize=fontsize, transform=ax.transAxes)
7184

7285
# MaxN Locator
73-
ax = axs[6]
86+
ax = plt.subplot(n, 1, 7)
87+
setup(ax)
7488
ax.xaxis.set_major_locator(ticker.MaxNLocator(4))
7589
ax.xaxis.set_minor_locator(ticker.MaxNLocator(40))
76-
ax.text(0.0, 0.2, "ticker.MaxNLocator(n=4)",
77-
fontfamily='Source Code Pro', transform=ax.transAxes, in_layout=False)
90+
ax.text(0.0, 0.1, "ticker.MaxNLocator(n=4)",
91+
family=family, fontsize=fontsize, transform=ax.transAxes)
7892

7993
# Log Locator
80-
ax = axs[7]
94+
ax = plt.subplot(n, 1, 8)
95+
setup(ax)
8196
ax.set_xlim(10**3, 10**10)
8297
ax.set_xscale('log')
8398
ax.xaxis.set_major_locator(ticker.LogLocator(base=10.0, numticks=15))
84-
ax.text(0.0, 0.2, "ticker.LogLocator(base=10, numticks=15)",
85-
fontfamily='Source Code Pro', transform=ax.transAxes, in_layout=False)
99+
ax.text(0.0, 0.1, "ticker.LogLocator(base=10, numticks=15)",
100+
family=family, fontsize=fontsize, transform=ax.transAxes)
101+
102+
# Push the top of the top axes outside the figure because we only show the
103+
# bottom spine.
104+
plt.subplots_adjust(left=0.05, right=0.95, bottom=0.05, top=1.05)
86105

87-
fig.savefig("../figures/tick-locators.pdf")
106+
plt.savefig("../figures/tick-locators.pdf", transparent=True)
107+
# plt.show()

0 commit comments

Comments
 (0)