In [52]:
%pylab inline
a=1; L=1/a #Define initial parameters
x = linspace(0,L,100) 

def dist(x,y):    return (x**2+y**2)/L**2; #Energy of a point
def points(x,y): #Gets all the energys of one point in band theory
    y1=y ; E=[]
    for i in range(-2,3):
        for j in range(-2,3):
            E.append(dist(x+2*i*L,y+2*j*L))
    return E
#Plot the results
for i in range(25):
    plot(2*x,points(x,x)[i],'b')
    l = list(points(L,x)[i]);    l.reverse();    plot(2*x+2*L,l,'b')
    l2 = list(points(x,0)[i]);    l2.reverse();    plot(2*x+4*L,l2,'b')    
    ylim([0,18]);    xlim([0,6*L])
    axhline(y=16, color='g', linestyle='-',lw=2);    xposition = [2*L, 4*L]
    for xc in xposition:
        axvline(x=xc, color='r', linestyle='--',lw=2)
    #Axis.set_label_coords(x, y, transform=None)
    xticks( arange(7), ('$\Gamma$', '$\Sigma$', '$M$', '$Z$', '$X$','$\Delta$','$\Gamma$') )
    yticks( [0,4,8,16], ('$0$','$4$','$8$','$16$') )
    rcParams.update({'font.size': 22})
    rc("text", usetex = True)
    rc("font", family = "serif")
    ylabel("$E/\epsilon_1$")


Populating the interactive namespace from numpy and matplotlib
WARNING: pylab import has clobbered these variables: ['dist']
`%matplotlib` prevents importing * from pylab and numpy

In [59]:
from pylab import rcParams


plot()
#set_size_inches(18.5, 10.5)
nums = []
txt = []
for m in range(6):   
    a = -2*cos(m*pi/7)
    print a
    axhline(y=a, color='b', linestyle='-',lw=2); 
    nums.append(a)
    txt.append('%.2f' % a )
ylim([-2.5,2]);    xlim([0,1])
xticks( [], () )
yticks(nums, txt )
rcParams['figure.figsize'] = 1.5, 4
rc("text", usetex = True)
rc("font", family = "serif")
rcParams.update({'font.size': 15})
ylabel("$E/\epsilon_1$")
ylabel("$E/\_1$")


-2.0
-1.8019377358
-1.24697960372
-0.445041867913
0.445041867913
1.24697960372
Out[59]:
<matplotlib.text.Text at 0x7fba93cb2350>
Error in callback <function post_execute at 0x7fba94e50c80> (for post_execute):
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
/usr/lib/python2.7/dist-packages/matplotlib/pyplot.pyc in post_execute()
    145             def post_execute():
    146                 if matplotlib.is_interactive():
--> 147                     draw_all()
    148 
    149             # IPython >= 2

/usr/lib/python2.7/dist-packages/matplotlib/_pylab_helpers.pyc in draw_all(cls, force)
    148         for f_mgr in cls.get_all_fig_managers():
    149             if force or f_mgr.canvas.figure.stale:
--> 150                 f_mgr.canvas.draw_idle()
    151 
    152 atexit.register(Gcf.destroy_all)

/usr/lib/python2.7/dist-packages/matplotlib/backend_bases.pyc in draw_idle(self, *args, **kwargs)
   2024         if not self._is_idle_drawing:
   2025             with self._idle_draw_cntx():
-> 2026                 self.draw(*args, **kwargs)
   2027 
   2028     def draw_cursor(self, event):

/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.pyc in draw(self)
    472 
    473         try:
--> 474             self.figure.draw(self.renderer)
    475         finally:
    476             RendererAgg.lock.release()

/usr/lib/python2.7/dist-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     59     def draw_wrapper(artist, renderer, *args, **kwargs):
     60         before(artist, renderer)
---> 61         draw(artist, renderer, *args, **kwargs)
     62         after(artist, renderer)
     63 

/usr/lib/python2.7/dist-packages/matplotlib/figure.pyc in draw(self, renderer)
   1157         dsu.sort(key=itemgetter(0))
   1158         for zorder, a, func, args in dsu:
-> 1159             func(*args)
   1160 
   1161         renderer.close_group('figure')

/usr/lib/python2.7/dist-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     59     def draw_wrapper(artist, renderer, *args, **kwargs):
     60         before(artist, renderer)
---> 61         draw(artist, renderer, *args, **kwargs)
     62         after(artist, renderer)
     63 

/usr/lib/python2.7/dist-packages/matplotlib/axes/_base.pyc in draw(self, renderer, inframe)
   2322 
   2323         for zorder, a in dsu:
-> 2324             a.draw(renderer)
   2325 
   2326         renderer.close_group('axes')

/usr/lib/python2.7/dist-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     59     def draw_wrapper(artist, renderer, *args, **kwargs):
     60         before(artist, renderer)
---> 61         draw(artist, renderer, *args, **kwargs)
     62         after(artist, renderer)
     63 

/usr/lib/python2.7/dist-packages/matplotlib/axis.pyc in draw(self, renderer, *args, **kwargs)
   1118         self._update_label_position(ticklabelBoxes, ticklabelBoxes2)
   1119 
-> 1120         self.label.draw(renderer)
   1121 
   1122         self._update_offset_text_position(ticklabelBoxes, ticklabelBoxes2)

/usr/lib/python2.7/dist-packages/matplotlib/artist.pyc in draw_wrapper(artist, renderer, *args, **kwargs)
     59     def draw_wrapper(artist, renderer, *args, **kwargs):
     60         before(artist, renderer)
---> 61         draw(artist, renderer, *args, **kwargs)
     62         after(artist, renderer)
     63 

/usr/lib/python2.7/dist-packages/matplotlib/text.pyc in draw(self, renderer)
    747 
    748         with _wrap_text(self) as textobj:
--> 749             bbox, info, descent = textobj._get_layout(renderer)
    750             trans = textobj.get_transform()
    751 

/usr/lib/python2.7/dist-packages/matplotlib/text.pyc in _get_layout(self, renderer)
    359                 w, h, d = renderer.get_text_width_height_descent(clean_line,
    360                                                         self._fontproperties,
--> 361                                                         ismath=ismath)
    362             else:
    363                 w, h, d = 0, 0, 0

/usr/lib/python2.7/dist-packages/matplotlib/backends/backend_agg.pyc in get_text_width_height_descent(self, s, prop, ismath)
    227             fontsize = prop.get_size_in_points()
    228             w, h, d = texmanager.get_text_width_height_descent(s, fontsize,
--> 229                                                                renderer=self)
    230             return w, h, d
    231 

/usr/lib/python2.7/dist-packages/matplotlib/texmanager.pyc in get_text_width_height_descent(self, tex, fontsize, renderer)
    673         else:
    674             # use dviread. It sometimes returns a wrong descent.
--> 675             dvifile = self.make_dvi(tex, fontsize)
    676             dvi = dviread.Dvi(dvifile, 72 * dpi_fraction)
    677             try:

/usr/lib/python2.7/dist-packages/matplotlib/texmanager.pyc in make_dvi(self, tex, fontsize)
    420                      'string:\n%s\nHere is the full report generated by '
    421                      'LaTeX: \n\n' % repr(tex.encode('unicode_escape')) +
--> 422                      report))
    423             else:
    424                 mpl.verbose.report(report, 'debug')

RuntimeError: LaTeX was not able to process the following string:
'$E/\\\\Alpha_1$'
Here is the full report generated by LaTeX: 

This is pdfTeX, Version 3.14159265-2.6-1.40.16 (TeX Live 2015/Debian) (preloaded format=latex)
 restricted \write18 enabled.
entering extended mode
(./26ffe685e78d5682c576cafdfab14d35.tex
LaTeX2e <2016/02/01>
Babel <3.9q> and hyphenation patterns for 5 language(s) loaded.
(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
(/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo))
(/usr/share/texlive/texmf-dist/tex/latex/type1cm/type1cm.sty)
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/helvet.sty
(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty))
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/courier.sty)
(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def))
(/usr/share/texlive/texmf-dist/tex/latex/geometry/geometry.sty
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifpdf.sty)
(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ifvtex.sty)
(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty)

Package geometry Warning: Over-specification in `h'-direction.
    `width' (5058.9pt) is ignored.


Package geometry Warning: Over-specification in `v'-direction.
    `height' (5058.9pt) is ignored.

)
No file 26ffe685e78d5682c576cafdfab14d35.aux.
(/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd)
(/usr/share/texlive/texmf-dist/tex/latex/psnfss/ot1pnc.fd)
*geometry* driver: auto-detecting
*geometry* detected driver: dvips
! Undefined control sequence.
l.12 ...{15.000000}{18.750000}{\rmfamily $E/\Alpha
                                                  _1$}
[1] (./26ffe685e78d5682c576cafdfab14d35.aux) )
(see the transcript file for additional information)
Output written on 26ffe685e78d5682c576cafdfab14d35.dvi (1 page, 296 bytes).
Transcript written on 26ffe685e78d5682c576cafdfab14d35.log.

In [34]:
str(5.9)


Out[34]:
'5.9'

In [37]:
'%.2f' % 5.1


Out[37]:
'5.10'

In [ ]: