лучшая практика с tagclouds или tagCloud логикой?

каков какой-то хороший тег Cloud, который вы придумали? как fontsize = factor * percentOfOccurance ….

Solutions Collecting From Web of "лучшая практика с tagclouds или tagCloud логикой?"

Вам нужно будет установить минимальный размер, поэтому, возможно, fontsize = minsize + factor * percentage .

Вы можете ограничить диапазон размеров; возможно, возьмите sqrt или log процента, но это зависит от вашего распределения.

Для другого метода, взгляните на это сообщение в блоге из poeticcode в Tag Clouds Алгоритмы :

Далее, в линейной интерполяции, как мы устанавливаем границы min и max для размера шрифта / интенсивности цвета? Я замечаю, что Amazon.com, например, определяет размер шрифта от 80% до 280%. Таким образом, самый низкий тег в облаке получит размер шрифта 80%, а самый высокий – 280%. Я решил пойти со следующей формулой

150 * (1.0+ (1,5 * м-MAXM / 2) / MAXM)

Это красиво дает размер шрифта от 75% до 300%, поскольку метрика изменяется от потенциала 0 до maxm.

Я бы проверял наличие каждого элемента и отслеживал «максимум» (элемент с наивысшим счетчиком, так как это будет ваша мера).

Затем вычислите процент заполнения для каждого элемента, по сравнению с элементом с максимальным значением (который равен 100%). Например:

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

Затем создайте стили CSS для 20/40/60/80/100 процентных значений и примените правильный стиль CSS в соответствии с процентом.

Или вы могли бы, как вы предложили рассчитать размер шрифта.

Сначала получите свой макс. и min и рассчитать распространение. ($ max – $ min). Приращение размера шрифта будет «шагом» – в основном ($ max – $ min) / $ spread.

Теперь вы можете рассчитать размер шрифта соответственно:

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

Не забудьте округлить результат.

Могла бы написать вторую часть вам облако реализации облака мин и макс и распространение Im немного запутался.

Я сделал так, чтобы облако тегов вычислялось следующим образом:

 $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))); } 

Это позволяет округлять размеры шрифта в зависимости от ваших потребностей.

Размер шрифта никогда не будет превышать размер шрифта $ minFSad $ maxFS.