import React, { Fragment, useState } from 'react';
import chroma from 'chroma-js';
import { multiDateData, singleDateData, randomNumber } from 'reaviz-data-utils';
import { AreaChart } from 'reaviz';
import {
Area,
AreaSeries,
Line,
PointSeries,
StackedAreaSeries,
StackedNormalizedAreaSeries
} from 'reaviz';
import {
LinearXAxis,
LinearXAxisTickSeries,
LinearYAxis,
LinearYAxisTickSeries,
LinearYAxisTickLabel,
LinearXAxisTickLabel
} from 'reaviz';
import { getYScale, getXScale } from 'reaviz';
export default {
tags: ['snapshot'],
title: 'Charts/Area Chart/Axis',
component: AreaChart,
subcomponents: {
AreaSeries,
Area,
Line,
PointSeries,
StackedAreaSeries,
StackedNormalizedAreaSeries
}
};
export const TopBottomAxis = () => {
const scale = getXScale({
type: 'category',
width: 450,
data: [
{
key: 'Before',
data: 0,
x: 'Before'
},
{
key: 'After',
data: 0,
x: 'After'
}
]
});
return (
}
/>
}
/>
}
secondaryAxis={[
}
/>
}
/>
]}
yAxis={}
/>
);
};
TopBottomAxis.story = {
name: 'Top + Bottom Axis'
};
export const LeftRightAxis = () => {
const scale = getYScale({
type: 'category',
height: 200,
data: [
{
key: 'Low',
data: 0,
y: 'Low'
},
{
key: 'High',
data: 0,
y: 'High'
}
]
});
return (
}
/>
}
/>
}
secondaryAxis={[
}
/>
}
/>
]}
xAxis={}
/>
);
};
LeftRightAxis.story = {
name: 'Left + Right Axis'
};
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}
/>
);
};