2012-01-13 10 views
7

Recientemente he descartado el uso de Graphael y el paquete de extensiones Ico. Creo que sigue siendo una gran biblioteca, solo necesita una mejor documentación y una API adecuada antes de que pueda ser ampliamente adoptada.Gráfico de líneas de Google: arrastre para ajustar el valor

He convertido las áreas con gráficos para usar Google Charts y parece que no puedo encontrar una manera de hacer una función en particular. Utilicé graphael para: soporte de arrastre. Uno de mis line charts necesita ser editable, lo que significa que los puntos individuales en la línea se pueden arrastrar hacia arriba y hacia abajo para ajustar el valor.

He intentado encontrar un evento o una forma de adjuntar un evento en la API sin mucho éxito. ¿Alguien ha logrado hacer algo así?

Se supone que es posible hacer gráficos personalizados. ¿Sería posible hacerlo de esta manera?

EDITAR: Parece que no es realmente posible o es increíblemente difícil de enganchar en la API de Google o SVG de salida. Estar en un iframe y sin un código fuente disponible simplemente lo hace una opción menos atractiva.

Desde entonces he comenzado a experimentar con Highcharts. Pude hacer todo lo que hace el motor de Google y puedo jugar con el gráfico una vez que se ha procesado. Dado que se proporciona el código fuente, es más fácil descifrar ciertas cosas. También parece funcionar un poco más rápido que la solución de Google, ya que utiliza la ruta al hacer un gráfico de líneas en lugar de elementos de círculo SVG individuales.

El problema que estoy enfrentando ahora tiene que ver con el elemento de ruta SVG - no hay un solo punto para configurar el arrastre. Entonces, para usar jQuery.draggable uno tiene que inyectar un Círculo SVG u otro elemento en la misma posición que el fragmento de ruta SVG vinculando para arrastrar. Por lo tanto, debe resolverse lo siguiente: - cómo colocar el elemento creado en la posición correcta? - cómo mover el elemento cuando el gráfico se escala (¿cambio de valor mínimo o máximo en cualquier eje)? - cómo convertir una nueva posición a un valor escalado para los datos de la serie suministrados?

¿Alguien ha tenido suficiente experiencia en profundidad con Highcharts para jugar con estos? Trataré de proporcionar el ejemplo de JSfiddle cuando sea posible.

+0

He intentado usar jQuery y espere el mousedown/mouseup en el contenedor (div) que sujeta la tabla pero contenía Google Chart suprime el burbujeo del evento ... ¿Quizás haya una forma de permitir el burbujeo del evento en el gráfico? –

+0

Esto podría funcionar si solo uno pudiera decirle a Google Charts que represente en lugar de