タグクラウド内のタグのスケーリングについて
-
19-09-2019 - |
質問
モバイルデバイスにタグクラウドを実装しています。データモデルなどの詳細はここでは特に重要ではありません。私の質問はタグのスケーリングについてです。
タグの頻度をフォント サイズにマッピングする「最適な」式は何ですか?
見てきました この郵便受け 線形スケーリングと対数スケーリングについて説明し、 この答え インスピレーションを得るための多項式アプローチのエイドリアン・クーンのスケッチより。しかし、私はこの問題についてさらに詳しく調査した投稿がインターウェブ上のどこかにあったことを覚えているようです。
「」もいくつか見つけました。ベストプラクティス」とブログに書いていますが、ベスト プラクティスの原則についてはわかりません。これらは周波数スケーリングについては何もコメントしません。
タグのスケーリングにはどのような代替手段がありますか?また、どれが推奨/標準の方法ですか?最小フォントサイズ、タグの最大数、色なども考慮しています。
編集:での議論によると、 この質問, フォントサイズのバリエーションがある「標準」のタグクラウドに興味があります。
解決
私は昨年、小さなタグ クラウド プロジェクトに取り組みました。そこでは次のようなものを使用しました。
β = (int) (((maxθ – minθ) x ω) + minθ + 0.5)ここで、ωは何らかのメトリック(この場合はフォント周波数)に従って以前に計算された重み、minθとmaxθは下限と上限、βは最終値です。これは、あらゆる視覚的特性 (フォント サイズ、色、サポートされている場合は重みなど) に適用できます。
線形スケーリングと対数スケーリングはデータセットの分布に依存する傾向があることがわかりました。顕著な外れ値を含むデータセットでは、結果の値を「平滑化」するのにtanhが役立つことがわかりました。
他のヒント
で素晴らしい議論が行われています このPDF, では、表示するタグのスケーリング、クラスタリング、および切り詰めについて説明します。
私がうまく機能することがわかった解決策は次のとおりです
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 つの四分位数のサイズ差が増加します。