logologo
Start
Handleiding
Ontwikkeling
Plugins
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Start
Handleiding
Ontwikkeling
Plugins
API
logologo
Overzicht
Snelstart

Functie-introductie

Gegevensquery
Grafiekopties
Voorbeeld & Opslaan
Contextuele omgevingsvariabelen gebruiken
Paginafilters en interacties

Geavanceerd

Gegevens opvragen in SQL-modus
Aangepaste grafiekconfiguratie
Aangepaste interactie-events
Veelgestelde vragen
Best practices
Previous PageGegevens opvragen in SQL-modus
Next PageAangepaste interactie-events
TIP

Dit document is vertaald door AI. Voor onnauwkeurigheden, raadpleeg de Engelse versie

#Aangepaste grafiekconfiguratie

In de aangepaste modus configureert u grafieken door JavaScript (JS) te schrijven in de code-editor. Op basis van ctx.data retourneert u een complete ECharts option. Dit is ideaal voor het samenvoegen van meerdere series, complexe tooltips en dynamische stijlen. In principe worden alle ECharts-functionaliteiten en grafiektypen ondersteund.

clipboard-image-1761524637

#Gegevenscontext

  • ctx.data.objects: array van objecten (elke rij als een object)
  • ctx.data.rows: 2D-array (inclusief header)
  • ctx.data.columns: 2D-array gegroepeerd per kolom

Aanbevolen gebruik: Centraliseer gegevens in dataset.source. Voor gedetailleerd gebruik verwijzen wij u naar de ECharts-documentatie:

Dataset

Assen

Voorbeelden

Laten we beginnen met een eenvoudig voorbeeld:

#Voorbeeld 1: Maandelijks bestelaantal staafdiagram

20251027082816

return {
  dataset: { source: ctx.data.objects || [] },
  xAxis: { type: 'category' },
  yAxis: {},
  series: [
    {
      type: 'bar',
      showSymbol: false,
    },
  ],
}

#Voorbeeld 2: Verkooptrendgrafiek

clipboard-image-1761525188

return {
  dataset: {
    source: ctx.data.objects.reverse()
  },
  title: {
    text: "Monthly Sales Trend",
    subtext: "Last 12 Months",
    left: "center"
  },
  tooltip: {
    trigger: "axis",
    axisPointer: {
      type: "cross"
    }
  },
  legend: {
    data: ["Revenue", "Order Count", "Avg Order Value"],
    bottom: 0
  },
  grid: {
    left: "5%",
    right: "5%",
    bottom: "60",
    top: "80",
    containLabel: true
  },
  xAxis: {
    type: "category",
    boundaryGap: false,
    axisLabel: {
      rotate: 45
    }
  },
  yAxis: [
    {
      type: "value",
      name: "Amount(¥)",
      position: "left",
      axisLabel: {
        formatter: (value) => {
          return (value/10000).toFixed(0) + '0k';
        }
      }
    },
    {
      type: "value",
      name: "Order Count",
      position: "right"
    }
  ],
  series: [
    {
      name: "Revenue",
      type: "line",
      smooth: true,
      encode: {
        x: "month",
        y: "monthly_revenue"
      },
      areaStyle: {
        opacity: 0.3
      },
      itemStyle: {
        color: "#5470c6"
      }
    },
    {
      name: "Order Count",
      type: "bar",
      yAxisIndex: 1,
      encode: {
        x: "month",
        y: "order_count"
      },
      itemStyle: {
        color: "#91cc75",
        opacity: 0.6
      }
    },
    {
      name: "Avg Order Value",
      type: "line",
      encode: {
        x: "month",
        y: "avg_order_value"
      },
      itemStyle: {
        color: "#fac858"
      },
      lineStyle: {
        type: "dashed"
      }
    }
  ]
}

Aanbevelingen:

  • Hanteer een pure functiestijl: genereer de option alleen op basis van ctx.data en vermijd neveneffecten.
  • Aanpassingen aan kolomnamen in queries beïnvloeden de indexering; standaardiseer namen en bevestig dit in "Gegevens bekijken" voordat u de code wijzigt.
  • Vermijd bij grote datasets complexe synchrone berekeningen in JS; aggregeer indien nodig tijdens de queryfase.

#Meer voorbeelden

Voor meer gebruiksvoorbeelden kunt u de NocoBase Demo-applicatie raadplegen.

U kunt ook de officiële ECharts Voorbeelden bekijken om het gewenste grafiekeffect te vinden, en vervolgens de JS-configuratiecode raadplegen en kopiëren.

#Voorbeeld en Opslaan

20251027083938

  • Klik op "Voorbeeld" aan de rechterkant of onderaan om de grafiek te vernieuwen en de JS-configuratie te valideren.
  • Klik op "Opslaan" om de huidige JS-configuratie in de database op te slaan.
  • Klik op "Annuleren" om terug te keren naar de laatst opgeslagen status.