6 Stimmen

Manuelles Zurücksetzen von Zoom aufrufen

Ich habe ein Diagramm, bei dem ich das Vergrößern/Verkleinern erlaubt habe. Jedes Mal, wenn der Benutzer hinein- oder herauszoomt, erscheint "Reset Zoom".

Jetzt habe ich eine neue Schaltfläche zum Anpassen hinzugefügt, in der ich die Daten der Spalte X anzeigen muss, die am meisten aktualisiert wurde. Ich habe Kategorien und Daten geändert, muss aber auch den Zoom zurücksetzen.

Ist das machbar? Ich möchte den "Reset Zoom" beibehalten, wenn der Benutzer versucht, zu vergrößern/verkleinern. PS: Ich habe versucht, this.zoomOut() zu verwenden, aber dann erschien die Meldung "Reset Zoom" :(

Mit freundlichen Grüßen Chanan

11voto

mpeac Punkte 700

Pawels Vorschlag, die

chart.xAxis[0].setExtremes(null,null);

funktioniert übrigens, wie hier gezeigt: http://jsfiddle.net/tvHg6/

Obwohl das Diagramm verkleinert wird, ist die Schaltfläche resetZoom immer noch vorhanden, aber ich weiß nicht, wie ich sie ausblenden kann. Der Aufruf von chart.resetZoomButton.hide() blendet ihn aus, aber dauerhaft.

4voto

Mike Milkman Punkte 585

Wie vorgeschlagen ici

chart.zoom()

Aber bedenken Sie, dass der Aufruf chart.zoom() löst nicht aus chart.events.selection Veranstaltung. Das ausgelöst wird, wenn Sie manuell oder programmatisch auf die Schaltfläche "Zurücksetzen" klicken $('.highcharts-button').click();

3voto

Kalyan Punkte 113

Wenn Sie den Zoom für einen externen Tastenklick zurücksetzen möchten, gehen Sie wie folgt vor:

$("#YourOwnZoomBtnID").click(function(){ 

    $('.highcharts-button').click();
});

Wenn Sie die eingebaute Reset-Schaltfläche von Highcharts ausblenden möchten, können Sie dies wie folgt tun:

xAxis: { categories: xAxisCategories
                ,events: {
      afterSetExtremes: function() {
        $('.highcharts-button').hide();
      }
    }}

jsfiddle Beispiel ist hier: jsfiddle

Danke Kalyan

1voto

gkelly Punkte 280

Ich habe einfach das Klick-Ereignis der Schaltfläche aufgerufen und es hat gut funktioniert.

gegeben: v_chart ist eine Variable für Highcharts-Diagramme;

if (typeof v_chart.resetZoomButton !== 'undefined') {
    v_chart.resetZoomButton.element.onclick();
}

0voto

Eden Chen Punkte 19
  1. die ursprüngliche Reset-Taste ausblenden
 chart: {
            resetZoomButton: {
                    theme: {
                        display: 'none'
                    }
                }
            }
  1. sich um die Veranstaltung kümmern
 buttons: {
                    resetButton: {
                        symbol: 'url(redo_icon.svg)',
                        _titleKey: "resetZoom",
                        y: 20,
                        x: -20,
                        onclick: function () {
                            this.xAxis[0].setExtremes(null,null);
                            this.yAxis[0].setExtremes(null,null)
                        }
                    }
                }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X