Question

Je suis intéressé à utiliser Python pour créer des diagrammes représentant la taille des valeurs basées sur la taille des carrés (et éventuellement leur couleur). Fondamentalement, je cherche un moyen de faire des aperçus d'un tas de valeurs comme le bon vieux programme windirstat Le fait avec une utilisation à conduite dure (il fait essentiellement un grand carré représentant votre disque dur, puis des carrés plus petits composant la zone à l'intérieur de celui-ci représentant différents programmes, plus le carré est grand, plus le fichier est grand, la couleur indique le type de fichier). Je connais assez avec Matplotlib, et je ne pense pas qu'il soit possible de faire quelque chose comme ça avec. Y a-t-il un autre package Python qui aiderait? Des suggestions pour quelque chose de plus bas si ce n'est pas le cas? Je suppose que je pourrais le faire manuellement si je pouvais trouver un moyen de dessiner les boîtes par programmation (je ne me soucie pas vraiment du format, mais l'option d'exporter SVG ainsi que PNG serait bien).

En fin de compte, ce serait bien de le faire être interactif comme le sont Windirstat, où si vous deviez planer sur un carré particulier, vous obtenez plus d'informations dessus, et si vous cliquez dessus peut-être que vous iriez et voyez la composition de cela carré particulier. Je ne connais que wxpython pour les trucs GUI, je ne sais pas si cela pourrait être utilisé pour quelque chose comme ça. Pour l'instant, je serais satisfait de simplement les sortir.

Merci beaucoup! Alex

Edit: Merci les gars, vos deux réponses ont beaucoup aidé.

Était-ce utile?

La solution

Vous cherchez Creux algorithmes. Une fois implémenté, vous pouvez transformer la sortie (qui devrait être des rectangles) en commandes de tracé en tout ce qui peut dessiner des rectangles en couches.

Éditer:

Plus de liens et d'informations:

Si cela ne vous dérange pas de lire des articles, le navigateur d3 La bibliothèque prévoit des treemaps `` squarifiés '' (Implémentation JS). Ils font référence à cet article par Bruls, Huizing et Van Wijk. (Ceci est aussi la citation 3 sur l'article de Wikipedia)

Je rechercherais les algorithmes répertoriés sur l'article Wikipedia lié. Par exemple, ils sont également liés à cette Article, qui décrit un algorithme pour "Treemaps mixte". L'article comprend également des portions intéressantes à la fin décrivant les transformations en autres formes rectangulaires.

Squarified semble certainement être la variété la plus courante. Les liens ci-dessus devraient vous donner suffisamment pour travailler vers une solution ou, même, porter directement l'implémentation D3. Cependant, le coût du modèle de Grokking D3 (qui ressemble à une forme déclarative de jQuery) peut être quelque peu élevé. À première vue, cependant, la mise en œuvre semble relativement simple.

Autres conseils

Squaremap est ce que ca. Je ne l'ai pas utilisé (je ne le sais que de Runsnakerun) et sa documentation fait gravement défaut, mais cela semble fonctionner.

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