2012-03-20 12 views
6

Quiero cambiar el color del gráfico de área después de que se haya procesado inicialmente.Cambiar el color del gráfico de área programáticamente en los gráficos altos

En la demostración de JSFiddle después de hacer clic en el botón, puede ver que el color ha cambiado al pasar el mouse sobre el punto de datos o al alternar la visualización haciendo clic en la leyenda para ocultar y luego volver a mostrar.

En ambos casos, el color del área principal no se ha actualizado, pero sí los puntos de datos y la leyenda.

jsFiddle Demostración: http://jsfiddle.net/simonweston/tLwy5/

Cualquier ayuda sería muy apreciada.

Respuesta

1

También he intentado cambiar sin suerte, la única manera de hacerlo es volver a crear el gráfico como se ve here

+0

Gracias época. Esa es mi solución actual, pero parece un poco hacky. Necesito renderizar el gráfico para obtener algunos valores plotX y plotY y luego volver a renderizar el gráfico usando estos valores para obtener paradas de gradiente precisas. No es la solución más bonita, pero supongo que funciona. – westo

7

Se puede cambiar dinámicamente pero hay que manipular los elementos SVG DOM en lugar del objeto de gráfico:

$($('.highcharts-series').children()[0]).attr('fill','blue') 

Produce:

enter image description here

+1

Gracias Mark. Había pensado en esto, pero esperaba hacerlo a través de la API de Highcharts ya que IE8 está usando VML y esto no funcionará para VML. – westo

+0

+1 para salir de la API. – epoch

Cuestiones relacionadas