Skip to content

GraphicRenderer

GraphicRenderer rendert vorkonfigurierte Diagramme aus Graphic Walker-Spezifikationen. Es zeigt Diagramme ohne die vollstaendige Bearbeitungsoberflaeche an -- Benutzer koennen Diagramme ansehen und mit ihnen interagieren, aber die Feldkodierungen nicht aendern.

import { GraphicRenderer } from '@kanaries/graphic-walker';

Wann verwenden

KomponenteVerwendung wenn
GraphicWalkerSie die vollstaendige Drag-and-Drop-Explorationsoberflaeche benoetigen
GraphicRendererSie gespeicherte Diagramme mit sichtbaren Toolbar-Steuerelementen anzeigen moechten
PureRendererSie ein minimales, schreibgeschuetztes Diagramm ohne UI-Elemente wuenschen

Props

GraphicRenderer akzeptiert alle gleichen Props wie GraphicWalker, plus:

PropTypStandardBeschreibung
containerClassNamestringundefinedCSS-Klasse fuer den Diagramm-Container.
containerStyleReact.CSSPropertiesundefinedInline-Styles fuer den Diagramm-Container.
overrideSize{ mode: 'auto' | 'fixed' | 'full'; width: number; height: number }undefinedUeberschreibt die Diagrammgroesse aus der Spezifikation.

Alle Daten-, Erscheinungsbild-, i18n- und Ref-Props von GraphicWalker gelten hier ebenfalls.

Beispiel

import { GraphicRenderer } from '@kanaries/graphic-walker';
import type { IChart } from '@kanaries/graphic-walker';
 
const savedCharts: IChart[] = [
  {
    visId: 'chart-1',
    name: 'Monthly Revenue',
    encodings: {
      dimensions: [],
      measures: [],
      rows: [{ fid: 'revenue', name: 'Revenue', analyticType: 'measure', semanticType: 'quantitative' }],
      columns: [{ fid: 'month', name: 'Month', analyticType: 'dimension', semanticType: 'temporal' }],
      color: [],
      opacity: [],
      size: [],
      shape: [],
      theta: [],
      radius: [],
      longitude: [],
      latitude: [],
      geoId: [],
      details: [],
      filters: [],
      text: [],
    },
    config: {
      defaultAggregated: true,
      geoms: ['line'],
      coordSystem: 'generic',
      limit: -1,
    },
    layout: {
      showTableSummary: false,
      stack: 'none',
      showActions: false,
      interactiveScale: true,
      zeroScale: true,
      size: { mode: 'auto', width: 800, height: 400 },
      format: {},
      resolve: {},
    },
  },
];
 
function Dashboard() {
  return (
    <GraphicRenderer
      data={data}
      fields={fields}
      chart={savedCharts}
      appearance="media"
    />
  );
}

Mit fester Groesse

<GraphicRenderer
  data={data}
  fields={fields}
  chart={savedCharts}
  overrideSize={{ mode: 'fixed', width: 600, height: 400 }}
/>