2010-04-12 15 views
9

Estoy buscando proporcionar varios métodos para visualizar un gran volumen de datos. Esto puede incluir, pero no se limitará a, gráficos simples. Las técnicas que estoy explorando incluirán formas, texto y líneas. También implicará la interacción con elementos (ocultación, enfoque, etc.) y animación (desplazamiento, arrastre, reorganización sistemática, etc.) de esos elementos.Técnicas para visualizar datos

SVG o Canvas parecen las opciones obvias (junto con una biblioteca JS, probablemente jQuery), pero la falta de disponibilidad entre navegadores es una preocupación. Me gustaría preferir para evitar Flash/Flex, pero en este momento es la única tecnología sólida y cruzada que he encontrado si el soporte para IE7/8 es un requisito.

¿Alguien tiene alguna otra sugerencia o información adicional que haga que una tecnología que he enumerado parezca aún más atractiva?

Gracias.

Respuesta

1

Es posible que desee echar un vistazo a Raphael y GRaphael. Raphael le permite crear gráficos vectoriales y usará SVG en navegadores con capacidad SVG mientras cambia automáticamente a VML en IE.

También podría echar un vistazo al processing.js basado en lienzo.

+0

Ambos están en la lista. Gracias. –

+0

Creo que voy a comenzar con Raphael. Es un navegador cruzado (léase: funcionará en IE) y parece bastante poderoso. –

0

SVG y Canvas funciona para datos relativamente simples (es decir, donde unas pocas líneas son suficientes). Para datos complejos (por ejemplo, distribuciones de frecuencia, o algo donde se emite una muestra por píxel), debe renderizar una imagen normal en el servidor.

+0

Por el momento, estoy tratando de evitar la cuestión del rendimiento (que supongo que es el motivo de su sugerencia de representar una imagen). Ciertamente, cuando/si el rendimiento se convierte en un problema, tendremos que hacer algo para "almacenar en caché" el resultado y que probablemente sea para crear una imagen y eliminarla con exactitud en tiempo real. Si tiene otra razón en mente, por favor elabore. –

+0

Como dije, depende de los datos. Si renderiza más de 10 000 líneas, SVG y Canvas comenzarán a ralentizarse porque es necesario analizar un documento de 1 MB solo para las coordenadas, mientras que una imagen solo necesitará unos 100 KB. –

1

HighCharts es una herramienta de creación de gráficos Javascript, buena, gratuita y entre navegadores.

Tome un vistazo a la Highcharts demo

+0

Cosas pulidas, pero parece que solo son compatibles con la representación gráfica tradicional. Necesito apoyar grupos de nubes, fractales, etc. Las mismas ideas, pero visualmente fuera del molde del paquete de gráficos tradicional. –

0

Si está utilizando jQuery para la graficación, me echa un vistazo a definiately Flot que es tan transversal navegador de gráficos/gráficos biblioteca.

1

SVG está disponible en todo excepto IE, y VML está disponible en IE (desde 5.5, IIRC). Si puede servir tanto SVG como VML, tendrá gráficos vectoriales que prácticamente todos pueden ver. RaphaelJS es una biblioteca Javascript que puede generar ambos formatos desde el mismo código Javascript, pero por supuesto esa es solo una forma de hacerlo.

lienzo también está disponible prácticamente en todo, excepto IE, pero algunas personas locas escribió algo llamado excanvas que emula la lona en, de nuevo, VML. De mis amigos y compañeros de trabajo que lo han usado, he escuchado que el rendimiento es peor que prácticamente cualquier otra solución de gráficos de navegador, pero si quieres hacer gráficos de mapa de bits de manera portátil, es prácticamente el único juego sin complementos de la ciudad.

La ruta que tome, vectorial o raster, realmente depende de su aplicación.

+0

Mi intención es seguir la ruta del vector. Debido a que esta es una solución interna para resolver un problema interno, realmente quiero evitar implementar SVG y VML, pero si puedo encontrar un buen paquete que lo haga ... –

2

Compruebe el original Processing.org.

Puede parecer extraño/anacrónico que usen applets de Java, pero pudieron obtener un mejor rendimiento con Java que con JavaScript. Los applets parecen funcionar en todas partes, y tendrás acceso a muchas geniales bibliotecas de Java.

2

No piense que vi esta mencionado: JavaScript InfoViz Toolkit

una visualización interesante personalmente me gusta es el treemap view. Es bueno para resumir una gran cantidad de datos en una sola vista.

Cuestiones relacionadas