-
Notifications
You must be signed in to change notification settings - Fork 0
/
fancy_plots.py
112 lines (107 loc) · 4.36 KB
/
fancy_plots.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
import matplotlib.patches as patches
plt.rc('text', usetex = True)
def fancy_plots_2():
# Define parameters fancy plot
pts_per_inch = 72.27
# write "\the\textwidth" (or "\showthe\columnwidth" for a 2 collumn text)
text_width_in_pts = 300.0
# inside a figure environment in latex, the result will be on the
# dvi/pdf next to the figure. See url above.
text_width_in_inches = text_width_in_pts / pts_per_inch
# make rectangles with a nice proportion
golden_ratio = 0.618
# figure.png or figure.eps will be intentionally larger, because it is prettier
inverse_latex_scale = 2
# when compiling latex code, use
# \includegraphics[scale=(1/inverse_latex_scale)]{figure}
# we want the figure to occupy 2/3 (for example) of the text width
fig_proportion = (3.0 / 3.0)
csize = inverse_latex_scale * fig_proportion * text_width_in_inches
# always 1.0 on the first argument
fig_size = (1.0 * csize, 0.7 * csize)
# find out the fontsize of your latex text, and put it here
text_size = inverse_latex_scale * 10
label_size = inverse_latex_scale * 10
tick_size = inverse_latex_scale * 8
params = {'backend': 'ps',
'axes.labelsize': text_size,
'legend.fontsize': tick_size,
'legend.handlelength': 2.5,
'legend.borderaxespad': 0,
'xtick.labelsize': tick_size,
'ytick.labelsize': tick_size,
'font.family': 'serif',
'font.size': text_size,
# Times, Palatino, New Century Schoolbook,
# Bookman, Computer Modern Roman
# 'font.serif': ['Times'],
'ps.usedistiller': 'xpdf',
'text.usetex': True,
'figure.figsize': fig_size,
# include here any neede package for latex
'text.latex.preamble': [r'\usepackage{amsmath}',
],
}
plt.rc(params)
plt.clf()
# figsize accepts only inches.
fig = plt.figure(1, figsize=fig_size)
fig.subplots_adjust(left=0.13, right=0.98, top=0.97, bottom=0.13,
hspace=0.05, wspace=0.02)
plt.ioff()
ax1 = fig.add_subplot(211)
ax2 = fig.add_subplot(212)
return fig, ax1, ax2
def fancy_plots_1():
# Define parameters fancy plot
pts_per_inch = 72.27
# write "\the\textwidth" (or "\showthe\columnwidth" for a 2 collumn text)
text_width_in_pts = 300.0
# inside a figure environment in latex, the result will be on the
# dvi/pdf next to the figure. See url above.
text_width_in_inches = text_width_in_pts / pts_per_inch
# make rectangles with a nice proportion
golden_ratio = 0.618
# figure.png or figure.eps will be intentionally larger, because it is prettier
inverse_latex_scale = 2
# when compiling latex code, use
# \includegraphics[scale=(1/inverse_latex_scale)]{figure}
# we want the figure to occupy 2/3 (for example) of the text width
fig_proportion = (3.0 / 3.0)
csize = inverse_latex_scale * fig_proportion * text_width_in_inches
# always 1.0 on the first argument
fig_size = (1.0 * csize, 0.7 * csize)
# find out the fontsize of your latex text, and put it here
text_size = inverse_latex_scale * 10
label_size = inverse_latex_scale * 10
tick_size = inverse_latex_scale * 8
params = {'backend': 'ps',
'axes.labelsize': text_size,
'legend.fontsize': tick_size,
'legend.handlelength': 2.5,
'legend.borderaxespad': 0,
'xtick.labelsize': tick_size,
'ytick.labelsize': tick_size,
'font.family': 'serif',
'font.size': text_size,
# Times, Palatino, New Century Schoolbook,
# Bookman, Computer Modern Roman
# 'font.serif': ['Times'],
'ps.usedistiller': 'xpdf',
'text.usetex': True,
'figure.figsize': fig_size,
# include here any neede package for latex
'text.latex.preamble': [r'\usepackage{amsmath}',
],
}
plt.rc(params)
plt.clf()
# figsize accepts only inches.
fig = plt.figure(1, figsize=fig_size)
fig.subplots_adjust(left=0.13, right=0.98, top=0.97, bottom=0.13,
hspace=0.05, wspace=0.02)
plt.ioff()
ax1 = fig.add_subplot(111)
return fig, ax1