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

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

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

现在,在标签云控制中,仅显示不同字体大小的值的子集。考虑以下样本空间tag1(1)... tagx(2),然后几个大标签tag2(4000)。现在,在UI上,我想显示堡垒大小的标签(HTML元素)。使用如此独特的样本,最终无法显示大1000px字体。需要处理这些数据,以使我获得点浓度的平板,以便我得到值得注意的值:

  • 对于点的浓度为1-4,因此我将其分为4个平板,每个均匀的2(1-2px,2-4px,... 4- 8px)
  • 4000和一些k少,所以我想做两个平板(1000-2000 = 10px)和(2000及以上= 12px)

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

有帮助吗?

解决方案

有一本可下载的O'Reilly电子书(40页)称为 在Perl和PHP中建造标签云 (据我所记得的是,这是前一段时间)对基础知识的封面很好,并且(如标题所暗示的)在Perl和PHP中具有示例实现。

其他提示

这是一个相当明显的例子 来自Rolla的4个家伙

我只说为了减少复杂性仅显示频率在标签名称旁边,例如C#x 1000。但是,如果您想以频率控制字体大小,以限制字体大小。

Frequency    Font Size

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

我不知道ASP.NET,但是您可以在PHP中实现此功能

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top