我可以使用什么算法对标签云的标签进行排序



所以我正在创建一个包含X个标签的标签云。像这样的东西 http://upload.wikimedia.org/wikipedia/commons/a/a7/Web_2.0_Map.svg关键字使用的频率越高,它的字体大小就越大。对于我的标签云,我有 X 个标签,我需要按字体大小进行分组。我有一个名为FacetBucket的结构,其中包含标签及其频率。最常用的短语将具有最大的字体大小,而最不常用的术语将具有最小的字体大小。适度使用的术语的字体大小都介于最大和最小之间。所以我的问题是我有 X 数量的标签和 Y 数量的字体大小,我应该寻找什么样的算法来解决我的问题?

对于其他想要做某事的人来说,这里有一个有帮助的方程式。

We will use the following variables, namely:
a = the smallest count (or occurrence).
b = the count of the tag being computed.
c = the largest count.
w = the smallest font-size.
x = the font-size for the tag. It is the unknown.
y = the largest font-size.

Now let's substitute the given values to their respective variables. Assuming that we are solving for the "thanksgiving" font-size.
a = 88
b = 168
c = 211
w = 12
x = ?
y = 50
And here's the formula:

x =   (b-a) (y-w)
    ----------- + w
      (c-a)

Or to put it in one liner (using c-like syntax):

x =  ( ((b-a) * (y-w)) / (c-a) ) + w

取自 http://blog.16codes.com/2007/12/how-to-create-tag-cloud-with-formula.html

  1. 您需要决定要使用的有限字体大小集(这取决于您的 GUI 实现)。

  2. 然后,您将为每个大小分配给标记频率范围。范围将取决于XY值。

这将决定每个频率获得的字体大小,只要标签数量超过可用的字体大小,接近值频率就会以相同的大小显示。

实际上不需要太多的算法。

相关内容

  • 没有找到相关文章

最新更新