Gibt es eine einfache Möglichkeit, ein jqplot-Diagramm bei der Größenanpassung des Browsers automatisch zu skalieren? Ich habe auf Google gesucht und nichts gefunden.jqplot resize chart beim Ändern der Größe des Browsers
13
A
Antwort
25
Größenänderung jqplots wird here diskutiert.
es funktioniert, wenn der Browser der Größe verändert wird, binden die Replot Funktion mit dem window.resize Ereignis up:
$(window).resize(function() {
plot1.replot({ resetAxes: true });
});
Laufcode:
$(document).ready(function(){
var plot1 = $.jqplot ('container', [[3,7,9,1,4,6,8,2,5]], {});
$(window).resize(function() {
plot1.replot({ resetAxes: true });
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script language="javascript" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqPlot/1.0.8/jquery.jqplot.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jqPlot/1.0.8/jquery.jqplot.min.css">
<div id="container"></div>
5
I habe festgestellt, dass die Verwendung von Replot nicht immer konsistente Ergebnisse liefert, wenn Sie viele Optionen in Ihren Graphen haben. Die einzige Art, wie ich gefunden habe, dass komplexe Graphen mit Fenstergrößen zurechtkommen, ist, brutal zu werden und es zu zerstören und neu aufzubauen.
function() {
var plot;
var renderGraph = function() {
plot = $.jqplot('chartId', yourChartData, yourChartOptions);
}
renderGraph();
var resizeGraph = function() {
if (plot)
plot.destroy();
renderGraph();
}
$(window).resize(function() {
resizeGraph();
});
}
Verwandte Themen
- 1. Resize ajax.org ACE-Editor basierend auf der Größe des Browsers
- 2. Zeitzone des Browsers ändern
- 3. Javascript Größe ändern Ereignis mehrmals Brennen beim Ziehen der Resize-Griff
- 4. Wie die Regionen des jqplot Chart statt prozentualer
- 5. Größe ändern und Formularsteuerelemente wie in der Form anpassen resize
- 6. Ändern der Farbe und Größe des Diagrammtextes
- 7. Größe des Auslöserfensters bei Bootstrap-Komprimierung ändern
- 8. Resize BufferedImage auf feste Größe
- 9. Manipulation der Größe des Browsers (Fenster) mit Splitter
- 10. Sperrposition beim Ändern der Größe des NSView-Rahmens
- 11. Artikel bewegt sich beim Ändern der Größe des Fensters
- 12. Schaltflächen bewegen sich beim Ändern der Größe des Fensters
- 13. 500 interne Serverfehler beim Ändern der Größe des maximalen Dateiuploads
- 14. QTableView wird beim Ändern der Größe des Hauptfensters nicht skaliert
- 15. Wie ändert sich der Status beim Aktualisieren des Browsers?
- 16. Bild Ändern der Größe
- 17. Wie Sie die Größe des Graphen in jqPlot definieren
- 18. Größe des ziehbaren Elements beim Start des Ziehens ändern
- 19. Resize Colorbox auf Fenstergröße ändern
- 20. ändern Splitter Hervorhebungen/Resize Linie
- 21. Selen Fehler beim Starten des Browsers
- 22. Sitzung verloren beim Schließen des Browsers
- 23. Größe des Kendo-Diagramms ändern, während das Fenster des Browsers minimiert wird?
- 24. Größe des ImageView-Platzhalters mit Picasso ändern
- 25. Leerzeichen nach der Größenanpassung des Browsers
- 26. Jquery UI - Die Größe der Überlagerung wird beim Ändern der Größe des Dialogfelds nicht geändert.
- 27. Javascript: Ändern Sie die Funktion der Zurück-Schaltfläche des Browsers
- 28. Programmgesteuertes Ändern der Größe des Browserfensters in GWT
- 29. nvd3 lineWithFocusChart Ungültiger Wert Fehler beim Ändern der Größe
- 30. Die Größe eines div Containers basierend auf der Größe des Browsers ändern, wenn eine Fußzeile darunter ist
Ja, das sollte +1 tun. In meiner resize Methode füge ich auch den folgenden Code hinzu - kurz bevor ich 'replot()' nenne. Auf diese Weise stelle ich sicher, dass die 'barWidth' ebenfalls neu skaliert wird. '$ .each (plot.series, Funktion (Index, Serie) { series.barWidth = undefined; }); ' – Boro
[Beispiel zeigt das Problem.] (Http://jsfiddle.net/RNPxQ/22/) [Beispiel zeigt die Lösung.] (Http://jsfiddle.net/RNPxQ/21/) – Boro
Sehr cool @Boro, Ich muss mich daran erinnern. – Mark