【问题标题】:best practice with tagclouds or tagCloud logic? [closed]tagclouds 或 tagCloud 逻辑的最佳实践? [关闭]
【发布时间】:2010-03-04 10:46:24
【问题描述】:

您想出了哪些好的标签云逻辑?比如 fontsize = factor * percentOfOccurance ....

【问题讨论】:

    标签: php tags tag-cloud


    【解决方案1】:

    您需要设置一个最小尺寸,所以可能是fontsize = minsize + factor * percentage

    您可能希望限制尺寸范围;也许取 sqrt 或百分比的对数,但这取决于您的分布。

    对于另一种技术,请查看来自 poeticcode 的 Tag Clouds Algorithms 上的这篇博文:

    接下来,在线性插值中,我们如何设置字体大小/颜色强度的最小和最大边界?例如,我注意到 Amazon.com 的字体大小在 80% 到 280% 之间。因此,云中最低的标签将获得 80% 的字体大小,最高的标签将获得 280% 的字体大小。我决定采用以下公式

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

    当指标从潜在的 0 变为 maxm 时,这很好地提供了从 75% 到 300% 的字体大小。

    【讨论】:

      【解决方案2】:

      我会检查每个元素的出现并跟踪“最大值”(计数最高的元素,因为这将是您的衡量标准)。

      接下来计算每个元素的出现百分比,与具有最大值的元素(即 100%)进行比较。例如:

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

      接下来为 20 / 40 / 60 / 80 / 100 百分比值创建 CSS 样式,并根据百分比应用正确的 CSS 样式。

      或者你可以按照你的建议计算字体大小。

      首先得到你的最大值。和 min 并计算点差。 (最大 - 最小)。您的字体大小增量将是“步骤” - 基本上是 ($max - $min) / $spread。

      现在您可以相应地计算您的字体大小:

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

      不要忘记对结果进行四舍五入。

      【讨论】:

        【解决方案3】:

        可以写第二部分给你标记云实现的最小值和最大值,让我有点困惑。

        【讨论】:

          【解决方案4】:

          我做了这样的标签云计算:

          $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 的字体大小范围。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-06-17
            • 1970-01-01
            • 1970-01-01
            • 2017-08-24
            • 1970-01-01
            • 2021-06-21
            • 2021-11-08
            • 2017-12-24
            相关资源
            最近更新 更多