Custom charts
Spreadsheet 2 is agnostic of chart renderer. We maintain a schema for the chart, but you can choose to use any chart libraries out ther
import { Suspense, lazy } from "react"
import { CircularLoader, Separator } from "@rowsncolumns/ui";
const ChartComponent = lazy(() => import('my_recharts_chart'))
const MySpreadsheet = () => {
return (
<CanvasGrid
charts={[
{
chartId: 1,
position: {
sheetId: 1,
overlayPosition: {
anchorCell: {
rowIndex: 8,
columnIndex: 11,
},
heightPixels: 200,
widthPixels: 300,
offsetXPixels: 10,
offsetYPixels: 10,
},
},
spec: {
title: "My chart",
basicChart: {
chartType: "BAR",
series: [
{
series: {
sourceRange: {
sources: [
{
startRowIndex: 1,
endRowIndex: 10,
startColumnIndex: 2,
endColumnIndex: 10,
},
],
},
},
},
],
domains: [
{
domain: {
sourceRange: {
sources: [
{
startRowIndex: 1,
endRowIndex: 10,
startColumnIndex: 2,
endColumnIndex: 10,
},
],
},
},
},
],
},
},
},
]}
getChartComponent={(props: ChartComponentProps) => (
<Suspense fallback={<CircularLoader />}>
<ChartComponent
{...props}
sheetData={sheetData}
/>
</Suspense>
)}
/>
)
}
const App = () => (
<SpreadsheetProvider>
<MySpreadsheet />
</SpreadsheetProvider>
);
Last updated