platzieren Ich versuche, die MPLD3-Kolben-Beispiel (https://github.com/nipunreddevil/mpld3-flask) als Vorlage zu verwenden, um ein bestimmtes Verhalten zu erreichen. Was ich möchte, ist das Hinzufügen von Links in der Kopfzeile zu verschiedenen Plots, anstatt ein Radioknopf-Abfrageformular zu haben.Wie ein Matplotlib-Plot in einen HTML-Container mit mpld3 und Kolben
Derzeit erstellt der obige Beispielcode in templates/index.html einen Container und füllt ihn dann mit einem Plot, wenn der Benutzer eine Abfrage sendet, indem er auf die Schaltfläche "Plot anzeigen" klickt. Das geschieht in diesem Code, soweit ich das beurteilen kann, in index.html:
$("#query").click(function() {
$("#loading-div-background").show();
$("#container").hide();
var plot_type = $('input:radio[name=plot_type]:checked').val();
var qu = {"plot_type":plot_type}
$.ajax({
type: "POST",
async:true,
contentType: "application/json; charset=utf-8",
url: "/query",
data: JSON.stringify(qu),
success: function (data) {
var graph = $("#container");
graph.html(data);
$("#loading-div-background").hide();
$("#container").show();
},
dataType: "html"
});
});
Was würde ich stattdessen möchte, ist die Kopfleiste hinzuzufügen, die derzeit „Home“ in ihm hat, und bringt jeden Beispiel Plot in einer anderen Seite. Ich würde zu einem anderen Link routen und dann den Template-HTML-Code mit den Daten für das Diagramm füllen, ohne eine Benutzerabfrage zu benötigen.
Ich bin ein bisschen ein Anfänger mit HTML und im Wesentlichen nichts über JavaScript an dieser Stelle. Mein Sinn hier ist, dass es eine relativ einfache Möglichkeit gibt, Flask + Jinja2 zu verwenden, aber ich konnte es nicht herausfinden.
Ich habe einige Probleme mit der Art von unklaren Namespaces, die sich aus der Kombination all dieser Sprachen ergeben. Ich bin normalerweise sehr streng mit Namespaces in meiner eigenen Python-Programmierung (d. H. Ich benutze nie 'von ____ Import *'), so dass dies mich ein bisschen verrückt macht.