GraphicRenderer
GraphicRenderer affiche des graphiques préconfigurés à partir de spécifications Graphic Walker. Il affiche les graphiques sans l'interface d'édition complète — les utilisateurs peuvent voir et interagir avec les graphiques mais ne peuvent pas modifier les encodages de champs.
import { GraphicRenderer } from '@kanaries/graphic-walker';Quand l'utiliser
| Composant | Utilisation |
|---|---|
GraphicWalker | Vous avez besoin de l'interface complète d'exploration par glisser-déposer |
GraphicRenderer | Vous souhaitez afficher des graphiques sauvegardés avec les contrôles de la barre d'outils visibles |
PureRenderer | Vous souhaitez un graphique minimal en lecture seule sans chrome d'interface |
Props
GraphicRenderer accepte toutes les mêmes props que GraphicWalker, plus :
| Prop | Type | Par défaut | Description |
|---|---|---|---|
containerClassName | string | undefined | Classe CSS pour le conteneur du graphique. |
containerStyle | React.CSSProperties | undefined | Styles en ligne pour le conteneur du graphique. |
overrideSize | { mode: 'auto' | 'fixed' | 'full'; width: number; height: number } | undefined | Remplace la taille du graphique définie dans la spécification. |
Toutes les props de données, d'apparence, d'i18n et de ref de GraphicWalker s'appliquent également ici.
Exemple
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"
/>
);
}Avec taille fixe
<GraphicRenderer
data={data}
fields={fields}
chart={savedCharts}
overrideSize={{ mode: 'fixed', width: 600, height: 400 }}
/>