File: plotter.py

package info (click to toggle)
python-pulp 1.6.0%2Bdfsg1-5
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 14,596 kB
  • sloc: python: 6,006; sh: 12; makefile: 5
file content (52 lines) | stat: -rw-r--r-- 1,267 bytes parent folder | download | duplicates (4)
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
#!/usr/bin/env python
# -*- encoding: utf-8 -*-

from matplotlib import rc
rc('text', usetex=True)
rc('font', family='serif')



def plot_interval(a,c,x_left, x_right,i, fbound):
    lh = c*(1-a[0])
    rh = c*(1+a[1])
    x=arange(x_left, x_right+1)
    y=0*x
    arrow_r = Arrow(c,0, c*a[1],0,0.2)
    arrow_l = Arrow(c,0,-c*a[0],0,0.2)
    plot(x,y)
    text((x_left+lh)/2.0,0.1,'freebound interval [%s, %s] is penalty-free' % (lh,rh))
    text((x_left+lh)/2.0, 0.2, 'rhs=%s,    %s' % (c, fbound))
    cur_ax = gca()
    cur_ax.add_patch(arrow_l)
    cur_ax.add_patch(arrow_r)
    axis([x_left,x_right,-0.1,0.3])
    yticks([])
    title('Elasticized constraint\_%s   $C(x)= %s $' % (i, c))

figure()
subplots_adjust(hspace=0.5)

fbound = 'proportionFreeBound'
i=1
subplot(2,1,i)
a=[0.01,0.01]
c = 200
x_left = 0.97*c
x_right = 1.03*c
fb_string = '%s%s = %s' %(fbound,'', a[0])
plot_interval(a,c,x_left, x_right,i, fb_string)

i += 1
subplot(2,1,i)
a=[0.02, 0.05]
c = 500
x_left = 0.9*c  #scale of window
x_right = 1.2*c #scale of window
fb_string = '%s%s = [%s,%s]' % (fbound,'List', a[0],a[1])
plot_interval(a,c,x_left, x_right,i, fb_string)
savefig('freebound.jpg')
savefig('freebound.pdf')

# vim: fenc=utf-8: ft=python:sw=4:et:nu:fdm=indent:fdn=1:syn=python