Guest User

Untitled

a guest
Jun 20th, 2020
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.64 KB | None | 0 0
  1. set_i={}
  2. vector_i={}
  3. vector_b={}
  4. sort={}
  5. set_i[10]={'n':[],'s':[]}
  6. set_i[10]['n'].append(0.0244605000)
  7. set_i[10]['s'].append(0.0198990000)
  8. vector_i[10]={'n':[],'s':[]}
  9. vector_i[10]['n'].append(687.9790485000)
  10. vector_i[10]['s'].append(693.6321805000)
  11. vector_b[10]={'n':[],'s':[]}
  12. vector_b[10]['n'].append(86.5708590000)
  13. vector_b[10]['s'].append(86.0124780000)
  14. sort[10]={'n':[],'s':[]}
  15. sort[10]['n'].append(0.0003610000)
  16. sort[10]['s'].append(0.0003230000)
  17. set_i[30]={'n':[],'s':[]}
  18. set_i[30]['n'].append(0.0636460000)
  19. set_i[30]['s'].append(0.0629870000)
  20. vector_i[30]={'n':[],'s':[]}
  21. vector_i[30]['n'].append(691.1723425000)
  22. vector_i[30]['s'].append(699.8295890000)
  23. vector_b[30]={'n':[],'s':[]}
  24. vector_b[30]['n'].append(84.9870685000)
  25. vector_b[30]['s'].append(83.3700055000)
  26. sort[30]={'n':[],'s':[]}
  27. sort[30]['n'].append(0.0012905000)
  28. sort[30]['s'].append(0.0013700000)
  29. set_i[90]={'n':[],'s':[]}
  30. set_i[90]['n'].append(0.1830740000)
  31. set_i[90]['s'].append(0.1802080000)
  32. vector_i[90]={'n':[],'s':[]}
  33. vector_i[90]['n'].append(699.1795235000)
  34. vector_i[90]['s'].append(718.8977727500)
  35. vector_b[90]={'n':[],'s':[]}
  36. vector_b[90]['n'].append(88.8957545000)
  37. vector_b[90]['s'].append(90.2301260000)
  38. sort[90]={'n':[],'s':[]}
  39. sort[90]['n'].append(0.0050220000)
  40. sort[90]['s'].append(0.0052515000)
  41. set_i[271]={'n':[],'s':[]}
  42. set_i[271]['n'].append(0.6951020000)
  43. set_i[271]['s'].append(0.5922210000)
  44. vector_i[271]={'n':[],'s':[]}
  45. vector_i[271]['n'].append(716.6927007500)
  46. vector_i[271]['s'].append(701.6047875000)
  47. vector_b[271]={'n':[],'s':[]}
  48. vector_b[271]['n'].append(86.2946895000)
  49. vector_b[271]['s'].append(84.1444715000)
  50. sort[271]={'n':[],'s':[]}
  51. sort[271]['n'].append(0.0289420000)
  52. sort[271]['s'].append(0.0169115000)
  53. set_i[815]={'n':[],'s':[]}
  54. set_i[815]['n'].append(1.9326585000)
  55. set_i[815]['s'].append(1.6610015000)
  56. vector_i[815]={'n':[],'s':[]}
  57. vector_i[815]['n'].append(709.5025380000)
  58. vector_i[815]['s'].append(702.2022080000)
  59. vector_b[815]={'n':[],'s':[]}
  60. vector_b[815]['n'].append(84.4623145000)
  61. vector_b[815]['s'].append(84.0353330000)
  62. sort[815]={'n':[],'s':[]}
  63. sort[815]['n'].append(0.0606105000)
  64. sort[815]['s'].append(0.0605120000)
  65. set_i[2451]={'n':[],'s':[]}
  66. set_i[2451]['n'].append(5.3122310000)
  67. set_i[2451]['s'].append(5.7808360000)
  68. vector_i[2451]={'n':[],'s':[]}
  69. vector_i[2451]['n'].append(686.6794080000)
  70. vector_i[2451]['s'].append(683.3603195000)
  71. vector_b[2451]={'n':[],'s':[]}
  72. vector_b[2451]['n'].append(85.5694445000)
  73. vector_b[2451]['s'].append(90.8011540000)
  74. sort[2451]={'n':[],'s':[]}
  75. sort[2451]['n'].append(0.2127380000)
  76. sort[2451]['s'].append(0.2157050000)
  77. set_i[7368]={'n':[],'s':[]}
  78. set_i[7368]['n'].append(19.1625330000)
  79. set_i[7368]['s'].append(18.7387995000)
  80. vector_i[7368]={'n':[],'s':[]}
  81. vector_i[7368]['n'].append(742.7923980000)
  82. vector_i[7368]['s'].append(703.3277805000)
  83. vector_b[7368]={'n':[],'s':[]}
  84. vector_b[7368]['n'].append(85.6553090000)
  85. vector_b[7368]['s'].append(85.7558440000)
  86. sort[7368]={'n':[],'s':[]}
  87. sort[7368]['n'].append(0.7025800000)
  88. sort[7368]['s'].append(0.7094055000)
  89. set_i[22143]={'n':[],'s':[]}
  90. set_i[22143]['n'].append(59.7905750000)
  91. set_i[22143]['s'].append(60.4921435000)
  92. vector_i[22143]={'n':[],'s':[]}
  93. vector_i[22143]['n'].append(700.2722935000)
  94. vector_i[22143]['s'].append(686.1256720000)
  95. vector_b[22143]={'n':[],'s':[]}
  96. vector_b[22143]['n'].append(86.0514560000)
  97. vector_b[22143]['s'].append(87.0559570000)
  98. sort[22143]={'n':[],'s':[]}
  99. sort[22143]['n'].append(2.3735980000)
  100. sort[22143]['s'].append(2.4882290000)
  101. set_i[66548]={'n':[],'s':[]}
  102. set_i[66548]['n'].append(197.5712895000)
  103. set_i[66548]['s'].append(196.5581185000)
  104. vector_i[66548]={'n':[],'s':[]}
  105. vector_i[66548]['n'].append(709.2545550000)
  106. vector_i[66548]['s'].append(683.3994835000)
  107. vector_b[66548]={'n':[],'s':[]}
  108. vector_b[66548]['n'].append(86.0151530000)
  109. vector_b[66548]['s'].append(92.0718050000)
  110. sort[66548]={'n':[],'s':[]}
  111. sort[66548]['n'].append(7.8001840000)
  112. sort[66548]['s'].append(8.0440845000)
  113. set_i[200000]={'n':[],'s':[]}
  114. set_i[200000]['n'].append(675.8519965000)
  115. set_i[200000]['s'].append(673.8654970000)
  116. vector_i[200000]={'n':[],'s':[]}
  117. vector_i[200000]['n'].append(693.5815290000)
  118. vector_i[200000]['s'].append(710.8254870000)
  119. vector_b[200000]={'n':[],'s':[]}
  120. vector_b[200000]['n'].append(86.2450735000)
  121. vector_b[200000]['s'].append(97.1322280000)
  122. sort[200000]={'n':[],'s':[]}
  123. sort[200000]['n'].append(25.4888220000)
  124. sort[200000]['s'].append(27.0257605000)
  125.  
  126.  
  127. from math import *
  128. import numpy as np
  129. from matplotlib.pyplot import *
  130.  
  131. class gr:      
  132.     def __init__(self):
  133.         self.x1=self.x2=self.y1=self.y2=0
  134.         self.sm=[]    
  135.         self.nm=[]        
  136.     def add(self,*a,**b):
  137.         #print(len(self.sm),end=' - ')
  138.         if len(self.sm)==0:
  139.             self.x1=min(a[0])
  140.             self.x2=max(a[0])
  141.             self.y1=min(a[1])
  142.             self.y2=max(a[1])
  143.         else:
  144.             self.x1=min(self.x1,min(a[0]))
  145.             self.x2=max(self.x2,max(a[0]))
  146.             self.y1=min(self.y1,min(a[1]))
  147.             self.y2=max(self.y2,max(a[1]))
  148.         '''if 'name' in b:
  149.            self.nm+=[b['name']]
  150.            if 'label' in b:
  151.                b['label']=b['label']+':'+b['name']
  152.            else:
  153.                b['label']=b['name']
  154.            del b['name']
  155.        else:
  156.            self.nm+=[None]'''          
  157.         self.sm+=[(a,b)]
  158.     def floor(self,x,a):
  159.         return floor(x/a)*a
  160.     def ceil(self,x,a):
  161.         return ceil(x/a)*a
  162.     def show(self,n=0):        
  163.         mpl_fig = figure(n)
  164.         subplots_adjust(left=0.06, bottom=0.06, right=0.94, top=0.94, wspace=None, hspace=None)
  165.         ax = mpl_fig.add_subplot(111)
  166.         ax.set_yscale ('log')
  167.         ax.set_xscale ('log')
  168.         def onclick(event):
  169.             print(event)
  170.             #print(event.width,event.height)      
  171.             #if (event.width>1000):
  172.                 #print("asf")
  173.                 #grid(True,which='major', linestyle='-', linewidth=3.5, color='grey',axis='none')
  174.                 #grid(False,which='major', linestyle='-', linewidth=2, color='grey',axis='both')
  175.        
  176.         def ondraw(event):
  177.             print(event)      
  178.             ax=gca()            
  179.             print(ax.get_xlim(),ax.get_ylim())
  180.                
  181.         cid = mpl_fig.canvas.mpl_connect('resize_event', onclick)
  182.         cid = mpl_fig.canvas.mpl_connect('draw_event', ondraw)
  183.         def rnd(x):
  184.             c=[0,0.30102999566398125,-0.30102999566398125]
  185.             n=[d+round(x-d) for d in c]
  186.             m=0
  187.             for u in range(1,len(n)):
  188.                 if abs(x-n[u])<abs(x-n[m]):
  189.                     m=u
  190.             return n[m]
  191.         #print(self.x1,self.x2,self.y1,self.y2)
  192.         st=0.2
  193.         ex=rnd(log(self.x2-self.x1,10)-1.34+st)
  194.         ey=rnd(log(self.y2-self.y1,10)-1.1+st)
  195.         dx=10**ex
  196.         dy=10**ey
  197.         x1=self.floor(self.x1,dx)
  198.         x2=self.ceil(self.x2,dx)
  199.         y1=self.floor(self.y1,dy)
  200.         y2=self.ceil(self.y2,dy)
  201.         #ax.set_aspect(dx/dy)
  202.         #ax.set_xticks(np.arange(x1, x2+dx, dx), minor=False)
  203.         #ax.set_yticks(np.arange(y1, y2+dy, dy), minor=False)
  204.         grid(True,which='major', linestyle='-', linewidth=0.5, color='grey',axis='both')
  205.  
  206.         #print  (dx)
  207.         #print(dy)
  208.         dx*=0.1
  209.         dy*=0.1
  210.         #print(dx)
  211.         #print(dy)      
  212.         x1=self.floor(self.x1,dx)
  213.         x2=self.ceil(self.x2,dx)
  214.         y1=self.floor(self.y1,dy)
  215.         y2=self.ceil(self.y2,dy)
  216.         #ax.set_xticks(np.arange(x1, x2+dx, dx), minor=True)
  217.         #ax.set_yticks(np.arange(y1, y2+dy, dy), minor=True)
  218.         grid(True,which='minor', linestyle=':', linewidth=0.4, color=(0.7,0.7,0.7),axis='both')
  219.    
  220.         for j in range(len(self.sm)):
  221.             c=self.sm[j]
  222.             plot(*c[0],**c[1])
  223.         legend()
  224.         #fig, ax = subplots()
  225.         #show()
  226.  
  227. class a_gr:
  228.     ff={}
  229.     def add(self,n,*b,**p):
  230.         if not (n in self.ff):
  231.             self.ff[n]=gr()
  232.         self.ff[n].add(*b,**p)
  233.     def show(self):
  234.         t=1
  235.         for a in self.ff:
  236.             self.ff[a].show(t)
  237.             t+=1
  238.         show()
  239.  
  240. A=a_gr()
  241. xx=np.array(list(set_i))
  242. for ci,di in zip(['set_i','vector_i','vector_b','sort'],[(0,0.6,0),(1.0,0.6,0),(0.7,0.7,0),(0.5,0,1.0)]):
  243.     c=eval(ci)
  244.     yy1=[]
  245.     yy2=[]
  246.     for x in xx:
  247.         yy1.append(c[x]['n'][0])
  248.         yy2.append(c[x]['s'][0])
  249.     A.add(0,xx,np.array(yy1),'.-',color=di,label=ci)
  250.     A.add(0,xx,np.array(yy2),'.-',color=di,label=ci+'_s')
  251. A.show()
  252.    
  253.        
  254. '''set_i={}
  255. vector_i={}
  256. vector_b={}
  257. set_i[10]={'n':[],'s':[]}
  258. set_i[10]['n'].append(0.0000000000)
  259. set_i[10]['s'].append(0.0000000000)'''
Add Comment
Please, Sign In to add comment