关于缩放标签云中的标签

时间:2009-08-25 11:14:38

标签: language-agnostic user-interface rendering tagging tag-cloud

我正在移动设备上实施标签云。数据模型等的细节在这里并不是特别重要。我的问题是关于标记的缩放:

将标记频率映射到字体大小的“最佳”表达式是什么?

我看过this post讨论线性和对数缩放以及this answer来自Adrian Kuhn的多项式方法的草图。但是,我似乎记得在互联网上的一些帖子,对这个问题有更多的探索。

我在博客上也发现了一些“best practices”,但不确定最佳做法是否有所提升。这些都没有对频率缩放做出评论。

我有哪些替代标签缩放,哪种是首选/标准方法?我也在考虑最小字体,最大标签数量,颜色等。

编辑:根据this question中的讨论,我感兴趣的是“标准”tagcloud,字体大小各不相同。

3 个答案:

答案 0 :(得分:3)

我去年参与了一个小标签云项目,其中我使用了一些东西

β=(int)(((maxθ - minθ)xω)+minθ+ 0.5)
其中ω是先前根据某个度量(在您的情况下是字体频率)计算的权重,minθ和maxθ是下限和上限,β是最终值。这可以应用于任何视觉特征(字体大小,颜色,支持时的重量等)。

我发现线性和对数缩放倾向于依赖于数据集分布。在具有显着异常值的数据集中,我发现tanh对于“平滑”结果值非常有用。

答案 1 :(得分:2)

this pdf中有一个很好的讨论,它讨论了要显示的标记的缩放,聚类和截断。

答案 2 :(得分:0)

我发现的解决方案效果很好如下

font_size = (max_font_size - min_font_size) * (Math.sin(1.5*(X)) + minsize

其中X是您希望映射到字体大小的标准化值

X = (this_value-min_value)/(max_value-min_value)

这增加了该范围的较低3个四分位数的大小差异,例如最小化高异常值的影响