Blocks - Lijngrafiek

📘

Blocks - Lijngrafiek

Met de Lijngrafiek-block kunt u uw data weergeven in een lijngrafiek. Dit is ideaal om bijvoorbeeld veranderende waarden door de tijd heen te laten zien. Kies een dataset en pas hier eventueel filters op toe. In dit block heeft u ook de mogelijkheid om een markering met een specifieke waarde in te stellen, zodat bijvoorbeeld een grenswaarde aangegeven kan worden.

1257

Voorbeeld - Lijngrafiek-block

Algemeen

  1. Geef een titel.
  2. Geef een beschrijving.
  3. Kies de achtergrondkleur.
  4. Vink aan of de grafiek stacked moet zijn.
  5. Kies de taal.
  6. Kies of er, en hoeveel decimalen getoond moeten worden.

Data

  1. Kies de gewenste Dataset uit het Project waar de App in zit.
  2. Kies een hoofd-attribuut (de key).
  3. Vul een label in voor de hoofd-as
  4. Kies een waarde-attribuut.
  5. Vul een label in voor de secundaire as.
  6. Kies de operator:
  • Sum: het totale aantal van de attribuutwaarden
  • Count: het aantal (verschillende) attribuutwaarden
  • Min: de laagste waarde
  • Max: de hoogste waarde
  • Average: de gemiddelde waarde
  • Median: de middelste waarde
  1. Kies de sortering (onbepaald, oplopend of aflopend).

Filter

  1. Kies eventueel een attribuut om op te filteren.
  2. Kies een filter-operator:
  • Gelijk aan
  • Niet gelijk aan
  • Als
  • Niet als
  • Groter dan
  • Groter dan of gelijk aan
  • Kleiner dan
  • Gelijk aan of kleiner dan
  • En - alleen bij YAML
  • Of - alleen bij YAML (zie hiervoor de uitleg voor meervoudige filters op de pagina Blocks.
  1. Vul de filterwaarde in.

Legenda

  1. Vink aan of de legenda getoond moet worden.
  2. Vul het aantal pixels in dat de legenda horizontaal verschoven moet worden.
  3. Vul het aantal pixels in dat de legenda verticaal verschoven moet worden.

Opmaak

  1. Geef een titel op voor de X-as.
  2. Geef een titel op voor de Y-as.
  3. Geef eventueel een eenheid op als voorvoegsel.
  4. Geef eventueel een eenheid op als achtervoegsel.
  5. Vink aan of de lijnen als vloeiende kromme getoond moeten worden.

Markering

Eventueel kan er een markering worden toegevoegd om bijvoorbeeld een grenswaarde te tonen.

  1. Kies of deze markering staand (verticaal) of liggend (horizontaal) getoond moet worden.
  2. Vul de waarde voor deze markering in.
  3. Geef een titel aan de markering.
  4. Kies de kleur van de markering met de color picker of vul de hex-code in.

YAML

📘

Aanvullende opties met YAML-formulier

Bepaalde variabelen zijn niet instelbaar vanuit het reguliere formulier. Onderstaand is daarom het volledige YAML-formulier te vinden om ook deze instellingen te kunnen gebruiken.

Let op! Deze is bruikbaar voor de nieuwste versies van Apps en Blocks, beschikbaar vanaf Release 30.

  1. Start door het betreffende Block in de Editor te bewerken.
  2. Wissel onderaan naar het YAML-formulier.
  3. Kopieer onderstaande code en plak deze in de Editor.
  4. Vul de variabelen in door overal number en string met de gewenste waarde te vervangen en bij de meerkeuzevariabelen alleen de gewenste optie te laten staan. Onder het onderstaande YAML-formulier is ter referentie een tabel te vinden met de veldtypen en standaardwaarden, welke gebruikt worden als een variabele volledig weggelaten wordt. Beschrijvingen zullen nader worden toegevoegd.
  • Boolean: kies true om weer te geven of te gebruiken, kies false om dit niet te doen.
  • String: geef een waarde op, dit kan o.a. een optie zoals in onderstaand YAML-formulier zijn, maar ook een stuk tekst of hex-waarde. Let op! Waarden van dit type moeten tussen aanhalingstekens worden gezet (bv. "#ffffff").
  • Number: geef een getal als waarde op (vaak in pixels).
version: '1.0'
lineChart:
  liveTable: true | false
  title: string
  description: string
  style:
    backgroundColor: string (hex)
  layout:
    curve: true | false
    enableMarker: true | false
    legend:
      show: true | false
      position: top-left | top | top-right | left | center | right | bottom-left | bottom | bottom-right
      direction: column | row
      justify: true | false
      offsetX: number
      offsetY: number
      item:
        direction: left-to-right | right-to-left | top-to-bottom | bottom-to-top
        height: number
        opacity: number
        spacing: number
        textColor: string (hex)
        width: number
      symbol:
        size: number
        shape: circle | square | triangle | diamond
    margin:
      bottom: number
      left: number
      right: number
      top: number
    markers:
        axis: x | y
        value: number | string
        lineStyle:
          color: string
          width: number
        legend:
          title: text marker
          orientation: vertical    
    fill: true | false      
    stacked: true | false
    tooltip:
      prefix: string
      suffix: string
    xAxis:
      offset: number
      padding: number
      rotation: number
      size: number
      title: string
    yAxis:
      maxValue: number
      minValue: number
      offset: number
      padding: number
      rotation: number
      size: number
      title: string
  format:
    decimals: number
    locale: string
  data:
    datasetId: string
    alias:
      <key>: "value of your choice"
    order: undefined | asc | desc
    attributes:
      key: string
      title: string 
      values:
        - title: string
          operator: sum | count | min | max | avg | median
          value: string 
          color: string (hex)
    filter: 
      enable: true | false
      operator: '= | != | like | notlike | > | >= | < | =< | and | or'
      attribute: string
      value: string
      filters:
        - operator: '= | != | like | notlike | > | >= | < | =< | and | or'
          attribute: string
          value: string
          filters:
            - operator: '= | != | like | notlike | > | >= | < | =< | and | or'
              attribute: string
              value: string
version: '1.0'
lineChart:
  liveTable: true | false  # Enable/disable live data updates in the table
  title: string  # Title of the chart
  description: string  # Description of the chart
  style:
    backgroundColor: string (hex)  # Background color of the chart, in hex format
  layout:
    curve: true | false  # Whether to show curves or straight lines
    enableMarker: true | false  # Enable/disable markers (e.g., vertical/horizontal reference lines)
    legend:
      show: true | false  # Show/hide legend
      position: top-left | top | top-right | left | center | right | bottom-left | bottom | bottom-right  # Legend position
      direction: column | row  # Arrange legend items in a column or row
      justify: true | false  # Align legend items to fill the container space
      offsetX: number  # Horizontal offset for the legend
      offsetY: number  # Vertical offset for the legend
      item:
        direction: left-to-right | right-to-left | top-to-bottom | bottom-to-top  # Item direction within the legend
        height: number  # Height of each legend item
        opacity: number  # Opacity of legend items (0-1)
        spacing: number  # Spacing between legend items
        textColor: string (hex)  # Color of the legend text
        width: number  # Width of each legend item
      symbol:
        size: number  # Size of the symbol in the legend
        shape: circle | square | triangle | diamond  # Shape of the legend symbol
    margin:
      bottom: number  # Bottom margin of the chart
      left: number  # Left margin of the chart
      right: number  # Right margin of the chart
      top: number  # Top margin of the chart
    markers:  # Marker options to add reference lines (e.g., average, thresholds)
      - axis: x | y  # Axis for the marker
        value: number | string  # Value on the axis where the marker should be placed
        lineStyle:
          color: string  # Color of the marker line
          width: number  # Width of the marker line
        legend:
          title: text marker  # Title for the marker in the legend
          orientation: vertical  # Orientation of the marker line
    fill: true | false  # Whether to fill the area under the line
    stacked: true | false  # Enable stacking of multiple lines
    tooltip:
      prefix: string  # Prefix text for the tooltip (e.g., currency symbol)
      suffix: string  # Suffix text for the tooltip (e.g., units like "kg" or "%")
    xAxis:
      offset: number  # Horizontal offset for the x-axis
      padding: number  # Padding for the x-axis labels
      rotation: number  # Rotation angle for the x-axis labels
      size: number  # Font size of x-axis labels
      title: string  # Title of the x-axis
    yAxis:
      maxValue: number  # Maximum value for the y-axis
      minValue: number  # Minimum value for the y-axis
      offset: number  # Vertical offset for the y-axis
      padding: number  # Padding for the y-axis labels
      rotation: number  # Rotation angle for the y-axis labels
      size: number  # Font size of y-axis labels
      title: string  # Title of the y-axis
  format:
    decimals: number  # Number of decimals to display for the data
    locale: string  # Locale setting (e.g., "nl" for Dutch)
  data:
    datasetId: string  # ID of the dataset being used for the chart
    alias:  # Optional aliases for data keys
      <key>: "value of your choice"
    order: undefined | asc | desc  # Order of the data (ascending or descending)
    attributes:
      key: string  # The primary key attribute (e.g., "j_area")
      title: string  # Title for the key attribute (optional)
      values:  # The values to be plotted on the chart
        - title: string  # Title for this data series (e.g., "GDP per capita")
          operator: sum | count | min | max | avg | median  # Operator to apply (e.g., "avg" for average)
          value: string  # The value to be plotted (e.g., "j_gdp_capi")
          color: string (hex)  # Color of the line for this value (e.g., "#ff8a65")
    filter:  # Optional filters to refine the data
      enable: true | false  # Enable/disable filtering
      operator: '= | != | like | notlike | > | >= | < | =< | and | or'  # Logical operators for filtering
      attribute: string  # Attribute to apply the filter on
      value: string  # Value to filter on
      filters:  # Nested filters for more complex conditions
        - operator: '= | != | like | notlike | > | >= | < | =< | and | or'
          attribute: string
          value: string
          filters:  # More nested filters if needed
            - operator: '= | != | like | notlike | > | >= | < | =< | and | or'
              attribute: string
              value: string
VeldTypeBeschrijvingDefault-waarde indien van toepassingEenheid indien van toepassing
liveTablebooleanOf dynamische filters toegepast mogen wordentrue
titlestringTitel[operator] op [values] van [dataset]
descriptionstringBeschrijving
backgroundColorstring (hex)Achtergrondkleur# ffffff
enableMarkerbooleanOf er een markeringslijn toegepast dient te wordenfalse
curvebooleanOf de lijn gebogen getoond dient te wordenfalse
legend.showbooleanOf de legenda getoond dient te wordenfalse
legend.postionstringHoe de legenda uitgelijnd moet wordenright
legend.directionstringDe oriëntatie van de legendacolumns
legend.justifybooleanOf symbool en label naast elkaar of tegenovergesteld van elkaar worden uitgelijndfalse
legend.offsetXnumber120px
legend.offsetYnumber0px
legend.item.directionstringIn welke oriëntatie symbool en label ten opzichte van elkaar uitgelijnd staanleft-to-right
legend.item.heightnumberDe hoogte van de uitlijning van een legenda-item20px
legend.item.widthnumberDe breedte van de uitlijning van een legenda-item100px
legend.item.opacitynumberDe doorzichtigheid van de legenda0.75
legend.item.spacingnumberDe ruimte tussen de legenda-items0
legend.item.textColorstring (hex)De tekstkleur van de legenda-items# 000000
legend.symbol.sizenumberDe symboolgrootte van de legenda-items18px
legend.symbol.shapestringDe vorm van de symbolencircle
margin.bottomnumberDe marge van de grafiek tot aan de onderkant van het block80px
margin.leftnumberDe marge van de grafiek tot aan de linkerkant van het block80px
margin.rightnumberDe marge van de grafiek tot aan de rechterkant van het block80 | 110 when legend is shownpx
margin.topnumberDe marge van de grafiek tot aan de bovenkant van het block20px
markers[0].axisstringDe as waarop de markering getoond dient te wordenx
markers[0].valuenumber | stringDe waarde waarbij de markering getoond dient te worden
markers[0].lineStyle.colorstring (hex)De kleur van de markering# 000000
markers[0].lineStyle.widthnumberDe dikte van de markering2px
markers[0].legend.titlestringDe naam van de markering
markers[0].legend.orientationstringDe oriëntatie van de markeringhorizontal
fillbooleanOf de ruimte onder de lijn ingekleurd dient te wordenfalse
stackedbooleanOf de verschillende lijnen 'op elkaar gestapeld' dienen te wordenfalse
tooltip.prefixstringDe eenheid als voorvoegsel
tooltip.suffixstringDe eenheid als achtervoegsel
xAxis.offsetnumberOffset van y-as label horizontaal32px
xAxis.paddingnumberDe afstand van de x-as tot aan de rand van het block5px
xAxis.positionstring
xAxis.rotationnumberDe rotatie van de x-as0graden
xAxis.sizenumberGrootte van de lijn op de x-as5px
xAxis.titlestringDe titel van de x-as
yAxis.maxValuenumberDe maximale waarde op de y-asauto
yAxis.minValuenumberDe minimale waarde op de y-asauto
yAxis.offsetnumber-45px
yAxis.paddingnumberDe afstand van de y-as tot aan de rand van het block5px
yAxis.positionstring
yAxis.rotationnumberDe rotatie van de y-as0graden
yAxis.sizenumberGrootte van de lijn op de y-as5px
yAxis.titlestringDe titel van de y-as
decimalsnumberHet aantal decimalen0
localestringTaalen
datasetIdstringID van de dataset
alias.stringAlias op de data-attribuutnamen. is de attribuutnaam. De waarde die hier aan wordt gegeven, in "", is de alias
orderstringDe sorteringundefined
attributes.keystringAttribuut voor de groepering van de data
attributes.titlestringTitel-attribuut
attributes.values[0].titlestringLabel van de valuevalue of values[0].value | operator "count"
attributes.values[0].operatorstringOperator
attributes.values[0].valuestringWeer te geven waarde-attribuut
attributes.values[0].colorstring (hex)Kleur van de waarden
filter.enablebooleanOf er een filter ingeschakeld dient te wordenfalse
filter.attributestringHet attribuut waarop gefilterd dient te worden
filter.operatorstringOperator waarmee gefilterd dient te worden
filter.valuestringFilterwaarde
filters[0].operatorstringOperator wanneer er meervoudige filters worden toegepast
filters[0].attributestringAttribuut wanneer er meervoudige filters worden toegepast
filters[0].valuestringAttribuutwaarde wanneer er meervoudige filters worden toegepast

Voorbeelden

Meerdere lijnen

Onderstaand een voorbeeld van een YAML voor een lijngrafiek, waarbij meerdere lijnen worden gebruikt, en de lijnen custom ingekleurd kunnen worden. Deze kun je hergebruiken door de dataset-id, attribuut-definities en titels te vervangen.

version: "1.0"
lineChart:
  liveTable: true
  style:
    backgroundColor: "#ffffff"
  layout:
    curve: false
    orientation: "vertical"
    legend:
      show: true
      position: "right"
      justify: false
    enableMarker: false
    markers:
      - axis: "x"
        lineStyle:
          color: "#ff0000"
    stacked: false
  format:
    locale: "nl"
    decimals: 0
  data:
    order: "asc"
    filter:
      enable: false
    datasetId:
      id: "8d103bee-db16-4bea-bbbb-b88b23e6855e"
      name: "Bevolking"
    attributes:
      key: "provincie"
      values:
        - operator: "sum"
          value: "mannen"
          title: "Aantal mannen"
          color: "#ffff00"
        - operator: "sum"
          value: "vrouwen"
          title: "Aantal vrouwen"
          color: "#00ffff"

Meervoudige filters

Voor een voorbeeld van hoe je meervoudige filters op de data in kunt stellen zie deze handleiding.