問題タブ [tag-cloud]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
algorithm - 2 点間の対数分布曲線の正しいアルゴリズムは何ですか?
tagcloud の重みの対数分布を生成する適切な方法についてのチュートリアルをたくさん読みました。それらのほとんどは、タグをステップにグループ化します。これは私にはややばかげているように思えるので、読んだ内容に基づいて独自のアルゴリズムを開発し、しきい値と最大値の間の対数曲線に沿ってタグのカウントを動的に分散させました。これがPythonでの本質です:
基本的に、個々のカウントの対数計算がなければ、ポイント (mincount, minsize) と (maxcount, maxsize) の間に直線が生成されます。
このアルゴリズムは 2 点間の曲線を適切に近似しますが、欠点が 1 つあります。mincount は特殊なケースであり、その対数はゼロになります。これは、mincount のサイズが minsize よりも小さくなることを意味します。この特殊なケースを解決するために数字を考えてみましたが、うまくいきません。現在、mincount を特別なケースとして扱い、" or 1
" を logcount 行に追加しています。
2 点間に曲線を描くためのより正確なアルゴリズムはありますか?
3 月 3 日更新: 私が間違っていなければ、カウントの対数を取り、それを線形方程式に差し込んでいます。特殊なケースの説明を言い換えると、x=1 で y=lnx では、y=0 です。これが mincount で起こることです。ただし、mincount をゼロにすることはできません。タグは 0 回使用されていません。
コードを試して、独自の番号をプラグインしてテストしてください。最小カウントを特別なケースとして扱うことは私にとっては問題ありません。この問題の実際の解決策よりも簡単だと感じています。これには解決策が必要であり、おそらく誰かが解決策を思いついたように感じます。
4 月 6 日更新: 簡単なGoogle検索で、私が読んだ多くのチュートリアルが見つかりますが、これはおそらく段階的なタグ クラウドの最も完全な例です。
4 月 28 日更新:antti.huima のソリューションへの対応: グラフ化すると、アルゴリズムが作成する曲線は 2 つの点の間の線の下にあります。私は数字を調整しようとしてきましたが、その曲線を線の反対側にひっくり返す方法がまだ思いつかないようです. 関数が指数ではなく何らかの形式の対数に変更された場合、まさに必要なことを行うと思います。あれは正しいですか?もしそうなら、誰でもこれを達成する方法を説明できますか?
user-interface - タグクラウドを利用可能なスペースに合わせる
単語とその頻度、および画面領域の領域を考えると、タグクラウドをスペースに適合させるための良いアプローチは何ですか?私が操作すると考えることができる2つの変数は次のとおりです。
- フォントサイズ(絶対サイズとグラデーションの両方)
- 言葉の数
私が考えることができるすべてのアプローチは、単語数の上限を設定し、単語がその領域にぴったり合うまでフォントサイズのバイナリ検索を使用するなど、反復が必要です。私はむしろ分析的な解決策が欲しいです。
私の状況の1つの厄介な問題は、雲のサイズが変更可能であるため、アルゴリズムが100x100ピクセルまたは1000x1000ピクセルを適切に処理できる必要があることです。
編集:これは、Webではなくリッチクライアントアプリケーション用であると言うべきでした(したがって、サイズ変更の可能性があります)。また、「タグクラウドで100語以上の単語を見る人はいないので、わざわざ表示しないでください」などの体験を聞きたいと思っていました。
tags - タグを付ける
プロジェクト開発で特定のコンテンツに複数のタグを付ける実際の手順はどのようなものですか。このタグ付けは何ですか?
C# を使用して .NET でプロジェクトのタグ クラウドを作成する必要があります。基本的なタグ付けの概念の初心者として私を助けてください。
language-agnostic - タグ クラウド内のタグのスケーリングについて
モバイル デバイスにタグ クラウドを実装しています。ここでは、データモデルなどの詳細は特に重要ではありません。私の質問は、タグのスケーリングについてです:
タグの頻度をフォントサイズにマッピングするための「最良の」表現は何ですか?
線形および対数スケーリングについて説明しているこの投稿と、インスピレーションを得るための多項式アプローチのエイドリアン・クーンのスケッチからのこの回答を見てきました。しかし、インターウェブのどこかで、この問題についてさらに多くの調査が行われた投稿を覚えているようです。
また、ブログで「ベスト プラクティス」をいくつか見つけましたが、ベスト プラクティスの提供については確信が持てません。これらは、周波数スケーリングについてコメントしていません。
タグのスケーリングにはどのような代替手段がありますか? また、推奨/標準的な方法はどれですか? 最小フォントサイズ、タグの最大数、色なども検討しています。
編集:この質問の議論に従って、フォントサイズのバリエーションがある「標準」タグクラウドに興味があります。
database - データベースでタグをモデル化する方法は?
既存のWebアプリがあり、ユーザーが既存のオブジェクトにタグを付けることができるようにタグ機能を追加したいと思います。問題は、各オブジェクトにタグ列を追加する必要があるかどうかです。または、それを正規化して、各オブジェクトにタグのコレクションがあるタグテーブルを使用する必要がありますか?私は後者に傾倒しています。なぜなら、それはよりクリーンで、レポートしやすく、タグクラウドを作成しやすいからです。しかし、これが1000回解決されたことを知っているので、何かが足りないかどうかを尋ねて確認したいと思いました。
3d - 3D 球タグ クラウド
このサイトのように、3D 球タグ クラウドを実現する方法を知っている人はいますか。
これを簡単に実行できる Javascript ライブラリはありますか、それとも手作業で書かれている可能性が最も高いですか?
jquery - jqueryはforeachをdivに追加します
jqueryを使用して動的タグクラウドを作成しようとしています。ページからキーワードを取得してdivに吐き出したいのですが、どうすればよいかわかりません。それはphpでしたが、jqueryはあまり得意ではありませんでした。
変数「キーワード」を作成しました
次に、次のようにdiv「tagCloud」を追加するためにforeachを実行するにはどうすればよいですか。
など..誰かが私を助けることができれば、それは素晴らしいでしょう:)
php - 配列から単語スタックを生成する
PHP で簡単なワード クラウドの練習をしようとしていますが、ひねりはほとんどありません。他のすべての作業は完了しましたが、単語を組み合わせたループの実行方法がわかりません。
私がやろうとしていることを少し理解しやすくする例を次に示します。
私はこのような配列を持っています:
$arr = array('linebreak','indent','code','question','prefer','we','programming')
今、私はその配列を通り始め、次のような配列を与える関数を実行しようとしています:
Array( [0] => '改行' [1] => '改行インデント' [2] => '改行インデント コード' )
Array( [0] => 'indent' [1] => 'indent code' [2] => 'indent code question' )
つまり、基本的には、元の単語配列を単語ごとに調べて、1 から 5 個の次の単語を組み合わせた小さな配列を作成します。
tag-cloud - 興味深いタグクラウドの実装
あなたが知っている最も興味深いタグクラウドの実装は何ですか?扱いやすいが、やや非標準的なものを探しています。私はWP-Cumulus3Dタグクラウドを知っています。興味深い実装に興味があります。必ずしも視覚的な用語ではありません(例として、セマンティックグループ化タグクラウドも興味深い場合があります)。