2010-07-05 9 views
6

Estoy buscando una biblioteca simple a la que se le pueda dar un conjunto de elementos: par de valores y que pueda generar una nube de etiquetas como salida.HTML Tag Cloud en Python

Biblioteca puede estar preferiblemente en pitón

+1

No hay necesidad de la misma pregunta otra vez: [Creación de HTML Tag Cloud usando Python?] (Http://stackoverflow.com/questions/3173734/html-tag-cloud-creation-using -python) –

Respuesta

6

Definir tamaños de fuente en el CSS-archivo. Use las clases desde

size-0{ 
    font-size: 11px; 
} 

size-1{ 
    font-size: 12px; 
} 

etc. hasta el tamaño de fuente que necesite.

Y luego simplemente utilizar este fragmento:

CSS_SIZES = range(1, 7) # 1,2...6 for use in your css-file size-1, size-2, etc. 

TAGS = { 
    'python' : 28059, 
    'html' : 19160, 
    'tag-cloud' : 40, 
} 

MAX = max(TAGS.values()) # Needed to calculate the steps for the font-size 

STEP = MAX/len(CSS_SIZES) 

for tag, count in TAGS.items(): 
    css = count/STEP   
    print '<a href="%s" class="size-%s">%s</a>' % (tag, css, tag), 

eso es todo. No hay necesidad de una biblioteca ;-)

+0

Buena respuesta concisa. Sin embargo, no es realmente necesario utilizar 'range()' para definir 'CSS_SIZES', ya que solo se usa para obtener la longitud (que es 6). – keithjgrant