Esto puede ser un reto. Por lo tanto, mi objetivo es tener el primer segmento más grande siempre en un estado flotante si otros segmentos no están suspendidos. Flotado significa que otros cortes se desvanecieron y halo en el flotador. He agregado un código que agrega la información sobre herramientas en el medio del gráfico de anillos y muestra la información sobre herramientas de los primeros cortes al sacar y cargar el mouse. Mantengo la información sobre herramientas allí usando el truco de retraso de la información sobre herramientas. Casi termino, pero no sé cómo mantener el halo en la rebanada y las otras rebanadas desvanecidas. Esto puede haber sonado confuso, pero espero que estas imágenes de lo que quiero puedan ayudar.
un obstáculo es que el entorno en el que estoy poniendo esto no me permitirá usar css o funciones fuera de la función principal de gráficos altos. Es por eso que todas las funciones están dentro.
https://jsfiddle.net/sabdorhx/1/
events: { load: function() { var chart = this, legend = chart.legend, point = chart.series.chart; // starte with first slice hovered chart.series[0].points[0].onMouseOver(); // Legend hover show tooltip for (var i = 0, len = legend.allItems.length; i < len; i++) { (function(i) { var item = legend.allItems[i].legendItem; item.on('mouseover', function(e) { //show custom tooltip here chart.tooltip.refresh(chart.series[0].points[i]); }).on('mouseout', function(e) { //show first slice tooltip on mouse out chart.tooltip.refresh(chart.series[0].points[0]); }); })(i); } }, }
_
series: { events: { mouseOut: function() { //mouse out of slice and show first slice this.points[0].onMouseOver(); }, },
El estado de desplazamiento establecido se sobrescribe en el método de serie setState
que se llama más tarde. En su caso, la función es redundante, por lo que puede sobrescribirla:
Highcharts.Series.prototype.setState = function(){};
Demostración en vivo: https://jsfiddle.net/BlackLabel/z2fqre5d/
Referencia de la API: https://api.highcharts.com/class-reference/Highcharts.Point#onMouseOver