la mejor práctica con tagclouds o la lógica tagCloud?

¿Cuáles son algunas buenas tags de la lógica de la nube que se te ocurrieron? como fontsize = factor * percentageOfOccurance ….

Tendrá que establecer un tamaño mínimo, por lo que tal vez fontsize = minsize + factor * percentage .

Es posible que desee limitar el rango de tamaños; tal vez tome el sqrt o log de porcentaje, pero esto depende de su distribución.

Para otra técnica, eche un vistazo a esta publicación de blog de poeticcode en Tag Clouds Algorithms :

Luego, en la interpolación lineal, ¿cómo establecemos los límites mínimo y máximo para la intensidad del tamaño / color de la fuente? Observé que Amazon.com, por ejemplo, oscila entre 80% y 280% de tamaño de fuente. Entonces, la etiqueta más baja en la nube obtendría un tamaño de letra del 80% y la etiqueta más alta del 280%. He decidido ir con la siguiente fórmula

150 * (1.0+ (1.5 * m-maxm / 2) / maxm)

Esto da muy bien un tamaño de fuente de 75% a 300% a medida que la métrica cambia de un potencial de 0 a maxm.

Verificaría la ocurrencia de cada elemento y mantendría un registro del “máximo” (el elemento con el conteo más alto ya que esta será su medida).

Luego, calcule el porcentaje de ocurrencia para cada elemento, en comparación con el elemento con el máximo (que es 100%). Por ejemplo:

 foreach ($elements as $element) { $percentage = floor(($element['count'] / $maximum) * 100); } 

A continuación, cree estilos CSS para valores de porcentaje de 20/40/60/80/100 y aplique el estilo CSS correcto de acuerdo con el porcentaje.

O podría, como sugirió, calcular el tamaño de la fuente.

Primero obtén tu máximo y min y calcule la extensión. ($ max – $ min). El incremento de tamaño de fuente sería el “paso”, que es básicamente ($ max – $ min) / $ spread.

Ahora puede calcular los tamaños de fuente en consecuencia:

 $min_size + ($element['occurrence'] - $smallest_array_value) * $step 

No te olvides de redondear tu resultado.

Podría escribir la segunda parte para etiquetar la implementación de la nube mínima y máxima y difundir un poco confundido.

He hecho la nube de tags calculando así:

 $v - incoming value, $minV - minimal value from dataset, $maxV - maximal value from dataset, $minFS - minimum font size, $maxFS - maximum font size, function roundFontSize($v, $minV, $maxV, $minFS, $maxFS) { return $minFS + floor($v / (($maxV - $minV) / ($maxFS - $minFS))); } 

Esto le permite redondear el tamaño de fuente dependiendo de su necesidad.

El tamaño de fuente nunca excederá el rango de tamaño de fuente de $ minFSad $ maxFS.