Лучшая практика с TagClouds или TagCloud Logic? [закрыто

StackOverflow https://stackoverflow.com/questions/2378576

  •  24-09-2019
  •  | 
  •  

Вопрос

Какие хорошие метки облака логика, с которой вы придумали? как FONTSIZE = FACTOR * PLACE OFFOCCURATION ....

Это было полезно?

Решение

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

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

Для другой техники взгляните на этот блог пост от поэтического кода на Теги облачных алгоритмов:

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

150 * (1.0+ (1,5 * M-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 в соответствии с процентом.

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

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

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

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

Не забудьте раунд вашего результата.

Может ли написать вторую часть вам тег облачной реализации MIN и MAX и распространять, я немного запутался.

Я сделал облако TAG, рассчитанный так:

$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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top