Roep de plugin aan vanaf de python console (BETA!)¶
DataPlotly komt met een simeple API die kan worden gebruikt vanaf python console.
De methode accepteert een gestructureerd woordenboek als input, opent het venster van de plugin, vult ieder veld in met de velden uit de bibliotheek en maakt het uiteindelijke diagram.
Notitie
niet alle aanpassingen zijn (nog) beschikbaar in deze methode, maar je kunt het diagram gemakkelijk updaten met de Update Plot knop. Zie DataPlotly Standaard gebruik
Code voorbeeld¶
Het volgende voorbeeld is erg eenvoudig. Ervan uitgaande dat je al een laag hebt ingeladen in QGIS, zullen we de laag aanroepen, 2 velden selecteren en een simpel spreidingsdiagram maken.
Open QGIS en de python console. Het voorbeeld gaat uit van de PH en T velden van de laag (kijk in de code en pas de velden aan op basis van jouw laag):
# create the VectorLayer object from with iface
vl = iface.activeLayer()
# import the plugins
from qgis.utils import plugins
# create the instace of the DataPlotly plugin
my = plugins['DataPlotly']
# initialize and empty dictionary
dq = {}
# create nested dictionaries for plot and layour properties
dq['plot_prop'] = {}
dq['layout_prop'] = {}
# start to fill the dictionary with values you want
# plot type
dq['plot_type'] = 'scatter'
# QgsVectorLayer object
dq["layer"] = vl
# choose the plot properties
dq['plot_prop']['x'] = [i["O2"] for i in vl.getFeatures()]
dq['plot_prop']['y'] = [i["EC"] for i in vl.getFeatures()]
dq['plot_prop']['marker'] = 'markers'
dq['plot_prop']['x_name'] = 'O2'
dq['plot_prop']['y_name'] = 'EC'
# choose the layout properties
dq['layout_prop']['legend'] = True
dq['layout_prop']["range_slider"] = {}
dq['layout_prop']["range_slider"]["visible"] = False
# call the method that opens the dialog
my.loadPlot(dq)
Wanneer je bovenstaande code uitvoert zou het script het DataPlotly venster moeten openen, het diagram aanmaken en de keuzevelden moeten vullen (keuzelijsten, keuzevakken etc.) met de gekozen waardes (waar mogelijk).
Waarschuwing
deze methode is nog in BETA en er zijn meerdere bekende problemen.