import { Fragment, useState } from 'react';
import chroma from 'chroma-js';
import {
multiDateData,
randomNumber,
longMultiDateData
} from 'reaviz-data-utils';
import { AreaChart } from 'reaviz';
import { StackedNormalizedAreaChart } from 'reaviz';
import { StackedAreaChart } from 'reaviz';
import {
Area,
AreaSeries,
Line,
PointSeries,
StackedAreaSeries,
StackedNormalizedAreaSeries
} from 'reaviz';
export default {
tags: ['snapshot'],
title: 'Charts/Area Chart/Multi Series',
component: AreaChart,
subcomponents: {
AreaSeries,
Area,
Line,
PointSeries,
StackedAreaSeries,
StackedNormalizedAreaSeries
}
};
export const Simple = () => (
}
/>
);
export const LargeDataset = () => (
}
data={longMultiDateData}
/>
);
LargeDataset.tags = ['skip-snapshot'];
export const LiveUpdating = () => ;
LiveUpdating.tags = ['no-snapshot'];
export const CustomColors = () => (
(index % 2 ? 'blue' : 'green')}
/>
}
data={multiDateData}
/>
);
export const Stacked = () => (
}
data={multiDateData}
/>
);
export const StackedNormalized = () => (
}
/>
);
const LiveUpdatingStory = () => {
const [data, setData] = useState(multiDateData.map((d) => ({ ...d })));
const updateData = () => {
const newData = [...data];
const idx = randomNumber(0, newData.length - 1);
const set = newData[idx];
const updateIndex = randomNumber(0, set.data.length - 1);
set.data[updateIndex].data = randomNumber(10, 50);
setData(newData);
};
return (
}
data={data}
/>
);
};
LiveUpdatingStory.tags = ['no-snapshot'];