Pregunta

Estoy interesado en el uso de python para hacer diagramas que representan el tamaño de los valores basados en el tamaño de los cuadros (y, opcionalmente, su color).Básicamente estoy buscando una manera de hacer resúmenes de un conjunto de valores como el viejo programa windirstat ¿con la unidad de disco duro de uso (básicamente hace un gran cuadrado que representa su disco duro y, a continuación, cuadrados más pequeños, haciendo que el área dentro de la misma representación de los diferentes programas, la más grande es la plaza más grande el archivo, el color indica el tipo de archivo).Estoy bastante familiarizado con matplotlib, y yo no creo que sea posible hacer algo como esto con él.¿Hay algún otro paquete de python que sería de ayuda?Cualquier sugerencia para algo más bajo nivel, si no?Supongo que podría hacerlo de forma manual si pudiera encontrar una manera de dibujar las cajas mediante programación (yo realmente no se preocupan por el formato, pero la opción de exportar SVG así como PNG sería bueno).

En última instancia, sería agradable tener que ser interactivo como windirstat es, donde si se coloca el cursor sobre un cuadrado se obtiene más información sobre el mismo, y si se hace clic en él tal vez te gustaría ir y ver el maquillaje de esa plaza.Sólo estoy familiarizado con wxpython para GUI cosas, no se si podría ser utilizado para algo como esto.Por ahora yo estaría feliz con la salida de ellos, aunque.

Muchas gracias!Alex

Editar:Gracias chicos, tanto en sus respuestas han ayudado mucho.

¿Fue útil?

Solución

Estas buscando Treemaping algoritmos. Una vez implementado, puede transformar la salida (que debe ser rectángulos) en consignar comandos a cualquier cosa que pueda dibujar rectángulos en capas.

Editar:

Más enlaces e información:

Si no le importa leer documentos, el navegador basado en el navegador D3 La biblioteca proporciona treemaps 'cuadrados' (Implementación de JS). Hacen referencia a este documento por Bruls, Huizing y Van Wijk. (Esta también es la cita 3 en el artículo de Wikipedia)

Buscaría en los algoritmos que figuran en el artículo de Wikipedia vinculado. Por ejemplo, también se vinculan a este Artículo, que describe un algoritmo para "Treemaps mixtos". El documento también incluye algunas porciones interesantes al final que describen las transformaciones en formas de otras rectangulares.

Squarified ciertamente parece ser la variedad más común. Los enlaces anteriores deben darle lo suficiente para trabajar hacia una solución o, incluso, portar directamente la implementación D3. Sin embargo, el costo de Grokking D3 (que es algo así como una forma declarativa de jQuery) puede ser algo alto. Sin embargo, a primera vista, la implementación parece relativamente sencilla.

Otros consejos

Squarepsap Haz esto. No lo he usado (solo lo sé desde Runsnakerun) y su documentación es severamente falta, pero parece funcionar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top