50 lines
1.2 KiB
Python
Executable File
50 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
from matplotlib import pyplot as plt
|
|
import numpy as np
|
|
import sys
|
|
|
|
|
|
plt.figure()
|
|
# plt.figure(figsize=(5, 3))
|
|
# plt.rcParams['font.size'] = 8
|
|
|
|
# useful coordinates
|
|
y_min = -0.0086 # y min axes
|
|
y_max = 0.1895 # y max axes
|
|
me = -0.22 # mode
|
|
f_me = 0.1806 # f(mode)
|
|
h_f_me = f_me/2 # falf f(mode)
|
|
x_m = -1.5867 # x₋
|
|
x_p = 2.4330 # x₊
|
|
|
|
# prepare plot
|
|
x, y = np.loadtxt(sys.stdin, unpack=True)
|
|
plt.title('Landau distribution', loc='right')
|
|
plt.xlim(-10, 10)
|
|
plt.ylim(y_min, y_max)
|
|
|
|
# draw the lines
|
|
plt.plot([-10, me], [f_me, f_me], color='gray')
|
|
plt.plot([me, me], [f_me, y_min], color='gray')
|
|
plt.plot([-10, x_p], [h_f_me, h_f_me], color='gray')
|
|
plt.plot([x_m, x_m], [y_min, h_f_me], color='gray')
|
|
plt.plot([x_p, x_p], [y_min, h_f_me], color='gray')
|
|
|
|
# draw the function
|
|
plt.plot(x, y, color='#92182b')
|
|
|
|
# draw the notes
|
|
s = 0.012
|
|
S = 0.2
|
|
plt.annotate('$f(m_e)$', [-10 + S, f_me - s])
|
|
plt.annotate('$f(m_e)/2$', [-10 + S, h_f_me - s])
|
|
plt.annotate('$x_-$', [x_m + S, y_min + s/2])
|
|
plt.annotate('$x_+$', [x_p + S, y_min + s/2])
|
|
plt.annotate('$m_e$', [me + S, y_min + s/2])
|
|
|
|
|
|
plt.tight_layout()
|
|
plt.show()
|
|
# plt.savefig('notes/images/1-notes.pdf')
|