Question

Je me suis mise en œuvre d'un nuage de tags sur un appareil mobile.Les détails des données-modèle etc, ne sont pas particulièrement important ici.Ma question est à propos de la mise à l'échelle de tags:

Quelle est la "meilleure" expression de balises de fréquence de taille de police?

J'ai regardé ce post discuter linéaire et logarithmique de mise à l'échelle et cette réponse Adrian Kuhn esquisse d'un polynôme approche pour l'inspiration.Cependant, je me souviens d'un post de la place sur les interwebs avec beaucoup plus d'exploration sur cette question.

J'ai aussi trouvé quelques "les meilleures pratiques"sur un blog, mais suis pas certain de la providence de les meilleures pratiques.Ces faire aucun commentaire sur l'échelle de fréquence.

Quelles sont les alternatives dois-je avoir pour la balise de mise à l'échelle, et qui est le préféré/méthode standard?J'envisage également de minimum fontsizes, nombre maximum de balises, les couleurs, etc.

Edit:Conformément à la discussion dans cette question, Je suis intéressé par le "standard" tagcloud, avec taille de police de variations.

Était-ce utile?

La solution

J'ai travaillé sur un petit nuage de tags projet l'an dernier, dans lequel j'ai utilisé quelque chose le long des lignes de

β = (int) (((maxθ – minθ) x ω) + minθ + 0.5)
où ω est une pondération calculée précédemment selon certains métrique (dans votre cas, la police de la fréquence), minθ et maxθ sont limites inférieure et supérieure, et β est la valeur finale.Ceci peut être appliqué à toutes les caractéristiques visuelles (taille de police, la couleur, le poids, si pris en charge, etc.).

J'ai trouvé que linéaire et logarithmique de mise à l'échelle tendance de la personne à charge sur l'ensemble de données de distribution.Dans les ensembles de données avec des valeurs aberrantes j'ai trouvé tanh a été utile pour le lissage des valeurs obtenues.

Autres conseils

Il est une excellente discussion dans ce pdf, qui traite de mise à l'échelle, le clustering et la troncature sur les tags à afficher.

Une solution que j'ai trouvé fonctionne très bien, est comme suit

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

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

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

cela augmente la différence de taille pour les moins de 3 quartiles de la gamme, tels que afin de minimiser l'effet de fortes valeurs aberrantes

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top