タグクラウド(Tag Cloud)を生成する際に,タグの使用回数に応じてフォントサイズの大小を計算していますが,今までは単純な一次関数を利用してこれを求めていました。それを試しに対数関数を利用してみたところ,ダイナミックに変化を感じられるタグクラウドを表現することができました。
長年,記事を書き溜めていると,殆ど使われないタグと,頻繁に使われるタグの蓄積の差が大きく出てきてしまいます。現在,このブログでは最頻出タグは 130 回程度使われていますが,その一方で 1 回しか使われていないタグも数多く存在します。
タグクラウドを生成する際に,タグの使用回数からタグを表示するフォントサイズを計算しています。この計算式が今までは単純な一次関数だったため,特定のタグだけがどどーんと大きく表示されてしまい,それ以外の使用回数の少ないタグについては大小の区別がほとんどできない状態でした。
そこで,この計算式を一次関数から対数関数(log)を利用したものに替えてみたところ,使用回数の少ない領域でも,タグの大きさの変化にダイナミズムを感じられる面白いタグクラウドを生成することができたと思います。「log なんて高校数学で出てきたけど覚えてねーよ」とか言わない(笑)
動作サンプルを作ってみたので,変化の違いを試してみてください。使用回数の多いものについては,従来通りに大きく表示されますが,使用回数の少ないものについても,その使用回数の変化に敏感にフォントサイズが変化しています。フォントサイズの計算の基本的な部分は,以前の記事と同じくフォントサイズの正規化を行うことで,最頻出タグにおいて指定された最大サイズで表示されるようにしています。
この記事を読んだ人はこんな記事も読んでいます
JavaScript, HavaScript, UavaScript, IavaScript, KavaScript, MavaScript, NavaScript, JQvaScript, JWvaScript, JSvaScript, JZvaScript, JaCaScript, JaFaScript, JaGaScript, JaBaScript, JavQScript, JavWScript, JavSScript, JavZScript, JavaAcript, JavaWcript, JavaEcript, JavaDcript, JavaXcript, JavaZcript, JavaSXript, JavaSDript, JavaSFript, JavaSVript, JavaScEipt, JavaSc4ipt, JavaSc5ipt, JavaScTipt, JavaScFipt, JavaScDipt, JavaScrUpt, JavaScr8pt, JavaScr9pt, JavaScrOpt, JavaScrKpt, JavaScrJpt, JavaScriOt, JavaScri0t, JavaScri-t, JavaScriLt, JavaScripR, JavaScrip5, JavaScrip6, JavaScripY, JavaScripG, JavaScripF
Folksonomy, Dolksonomy, Rolksonomy, Tolksonomy, Golksonomy, Volksonomy, Colksonomy, FIlksonomy, F9lksonomy, F0lksonomy, FPlksonomy, FLlksonomy, FKlksonomy, FoKksonomy, FoOksonomy, FoPksonomy, FolJsonomy, FolIsonomy, FolOsonomy, FolLsonomy, FolMsonomy, FolkAonomy, FolkWonomy, FolkEonomy, FolkDonomy, FolkXonomy, FolkZonomy, FolksInomy, Folks9nomy, Folks0nomy, FolksPnomy, FolksLnomy, FolksKnomy, FolksoBomy, FolksoHomy, FolksoJomy, FolksoMomy, FolksonImy, Folkson9my, Folkson0my, FolksonPmy, FolksonLmy, FolksonKmy, FolksonoNy, FolksonoJy, FolksonoKy, FolksonomT, Folksonom6, Folksonom7, FolksonomU, FolksonomH, FolksonomG
Tips, Rips, 5ips, 6ips, Yips, Gips, Fips, TUps, T8ps, T9ps, TOps, TKps, TJps, TiOs, Ti0s, Ti-s, TiLs, TipA, TipW, TipE, TipD, TipX, TipZ
アイディア