Pregunta

¿cuáles son algunas buenas Nube de etiquetas de lógica que había llegado con?como fontsize = factor * percentageOfOccurance ....

¿Fue útil?

Solución

Usted necesitará un tamaño mínimo, así que tal vez fontsize = minsize + factor * percentage.

Puede que desee limitar el rango de tamaños;tal vez tome la raíz cuadrada de registro o de porcentaje, pero esto depende de su distribución.

Por otra técnica, echa un vistazo a este post del blog de poeticcode en Nubes De Etiqueta Algoritmos:

Luego, en la interpolación lineal, ¿cómo podemos establecer el mínimo y el máximo de los límites para el tamaño de fuente/color de la intensidad?Me doy cuenta de que Amazon.com por ejemplo, se van el tipo de letra de tamaño entre el 80% y el 280%.Así, el más bajo de la etiqueta en la nube obtener un tamaño de fuente de un 80% y el más alto de la etiqueta de 280%.Me he decidido a ir con la siguiente fórmula

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

Esta muy bien le da un tamaño de fuente de un 75% a 300% como indicador de los cambios de potencial de 0 a maxm.

Otros consejos

Verificaría la ocurrencia para cada elemento y realizaría un seguimiento del "máximo" (el elemento con el recuento 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 porcentuales 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 consigue tu máximo. y min y calcular la propagación. ($ Max - $ min). Su incremento del tamaño de una fuente sería el "paso", que es básicamente ($ máx - $ min) / $ spread.

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

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

No olvides la reducción de tu resultado.

Podría escribir la segunda parte a usted Tag Cloud Implementation Min y Max y difundir un poco confundido.

He hecho que la nube de etiquetas calcule 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 los tamaños de fuente dependiendo de su necesidad.

El tamaño de la fuente nunca excederá el rango de tamaño de fuente de $ minfsad $ maxfs.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top