# 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.