7

我想了解标签云的算法/实现。

在标签云中,我们得到以下标签(权重)

  • 标签:标签是用于搜索的字符串或术语(或父项,取决于云的类型)
  • 权重:标签数值的频率

现在在标签云控件中,只有值的子集以不同的字体大小显示。考虑以下样本空间 tag1(1)... tagx(2),然后是几个大标签 tag2(4000)。现在在 UI 上,我想显示标签(带有 html 元素)的堡垒大小。有了这样一个独特的示例,最终无法显示 1000 像素的大字体。需要处理这些数据,以便我得到点浓度的平板,以便得到如下值:

  • 因为点集中度移动 1 - 4,所以我将它分成 4 个板,每块 2 块(1- 2px,2- 4px,... 4- 8px)
  • 4000 和一些 K 较少,所以我想制作两个平板,例如(1000 - 2000 = 10px)和(2000 及以上 = 12px)

我正在使用 ASP.NET C#。请让我知道如何实现这一目标。我真的不擅长数学(统计)。请帮我解决这个算法。或者链接到数学/教程或好的样本会有所帮助。

4

3 回答 3

2

这是来自 Rolla 的 4 个家伙的一个很好解释的例子

于 2011-03-14T15:41:58.667 回答
2

有一本可下载的 O'Reilly 电子书(大约 40 页),名为Building Tag Clouds in Perl and PHP(据我记得,那是不久前的事了),它包含了很好的基础知识,并且(正如标题所暗示的那样) Perl 和 PHP 中的示例实现。

于 2011-03-14T17:31:33.250 回答
0

我只是说,为了降低复杂性,只在标签名称旁边显示频率,比如这里 C# x 1000 。但是如果你想用频率控制字体大小。制作平板来限制字体大小。喜欢

Frequency    Font Size

1--5 3px;6--30 5像素;31-100 8 像素;101-500 10像素;501-1000 12像素;<1000 14px;(最终限制)

我不知道 asp.net 但你可以在 PHP 中轻松实现

于 2011-03-15T20:01:28.253 回答