6

Je suis en train d'implémenter un nuage de balises sur un appareil mobile. Les détails du modèle de données, etc., ne sont pas particulièrement importants ici. Ma question concerne la mise à l'échelle des balises:Mise à l'échelle des balises dans un nuage de balises

Quelle est la meilleure expression pour mapper la fréquence de balise à la taille de la police?

J'ai examiné this post en examinant la mise à l'échelle linéaire et logarithmique et this answer du croquis Adrian Kuhn d'une approche polynomiale pour l'inspiration. Cependant, il me semble me souvenir d'un post sur les interwebs avec beaucoup plus d'exploration sur cette question.

J'ai également trouvé quelques "best practices" sur un blog, mais je ne suis pas sûr de la providence des meilleures pratiques. Ceux-ci ne font aucun commentaire sur la mise à l'échelle des fréquences. Quelles alternatives ai-je pour la mise à l'échelle des balises, et quelle est la méthode préférée/standard? Je considère également les polices de caractères minimales, le nombre maximum de tags, les couleurs, etc.

Éditer: Comme le montre la discussion dans this question, je suis intéressé par le tagcloud "standard", avec des variations de taille de police.

+0

Er, consultez la colonne de droite de ce site - ordre par nombre d'instances décroissantes, avec numéro à droite. Travaille pour moi. – Benjol

Répondre

3

J'ai travaillé sur un petit projet de nuage de tags de l'année dernière, où je quelque chose le long des lignes de

β = (int) (((maxθ - minθ) x ω) + minθ + 0,5)
où ω est une pondération précédemment calculée selon une certaine métrique (dans votre cas, fréquence de police), minθ et maxθ sont des bornes inférieure et supérieure, et β est la valeur finale. Ceci peut être appliqué à n'importe quelle caractéristique visuelle (taille de la police, couleur, poids si supporté, etc.). J'ai constaté que la mise à l'échelle linéaire et logarithmique avait tendance à dépendre de la distribution de l'ensemble de données. Dans les ensembles de données avec des valeurs aberrantes proéminentes, j'ai trouvé que tanh était utile pour «lisser» les valeurs résultantes.

+0

C'est la mise à l'échelle linéaire que j'ai éventuellement suivie. Bonne idée re: tanh, je vais regarder ça plus loin. – jamesh

2

Il existe une excellente discussion dans this pdf, qui traite de la mise à l'échelle, de la mise en cluster et de la troncature sur les balises à afficher.

0

Une solution que je trouve des œuvres est bien comme suit

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

où X est la valeur normalisée à mapper sur la taille de la police

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

cela augmente différentiel de taille pour la inférieur 3 quartiles de la gamme, de manière à minimiser l'effet des valeurs aberrantes élevées

Questions connexes