<SYSTEM_TASK:>
Given the following text description, write Python code to implement the functionality described below step by step
<END_TASK>
<USER_TASK:>
Description:
 Ránking de investigadores en Informática en la UGR
Step1:  Los datos han sido descargados de la web de la UGR
usando urllib2
A continuación se muestra la tabla descargada
Step2:  El siguiente gráfico muestra el número H de los investigadores por orden decreciente
<ASSISTANT_TASK:>
Python Code:
%matplotlib inline
from BeautifulSoup import BeautifulSoup
import urllib2
from IPython.display import ( 
    display, HTML 
)
import matplotlib.pyplot as plt
url = 'http://investigacion.ugr.es/ugrinvestiga/static/BuscadorRanking/*/buscar?tipo=&rama_c=&disciplina_c=TELE_D&especialidad_c=&indicador=&periodo='
response = urllib2.urlopen( url )
html= response.read()
all_data = BeautifulSoup( html )
investigadores = all_data.find( "table" ).findAll( "tr" )
Explanation: Ránking de investigadores en Informática en la UGR
End of explanation
output = "<table>"
h_data = []
for row in investigadores[1:]:
    columnas = row.findAll('td')
    rank =  int(columnas[0].string.strip())
    nombre =  columnas[1].find('a').string.strip()
    citas =  int(columnas[2].find('strong').string.strip())
    h =  int(columnas[3].string.strip())
    output += "<tr><td>"+nombre+"</td><td>"+str(citas)+"</td><td>"+str(h)+"</td></tr>"
    h_data.append( h )
    
output += "</table>"
display(HTML(output))
Explanation: Los datos han sido descargados de la web de la UGR
usando urllib2
A continuación se muestra la tabla descargada
End of explanation
h_data.sort()
h_data.reverse()
plt.plot(h_data)
plt.show
Explanation: El siguiente gráfico muestra el número H de los investigadores por orden decreciente
End of explanation
<END_TASK>