import chroma from 'chroma-js';
import { multiDateData, longMultiDateData } from 'reaviz-data-utils';
import { LineChart } from 'reaviz';
import {
StackedAreaChart,
StackedNormalizedAreaChart,
StackedAreaSeries,
Line,
StackedNormalizedAreaSeries,
PointSeries
} from 'reaviz';
import {
LinearXAxisTickSeries,
LinearXAxis,
LinearYAxisTickSeries,
LinearYAxis
} from 'reaviz';
import { LineSeries } from 'reaviz';
import { ScatterPoint } from 'reaviz';
export default {
tags: ['snapshot'],
title: 'Charts/Line Chart/Multi Series',
component: LineChart,
subcomponents: {
LineSeries,
Line,
StackedAreaChart,
StackedNormalizedAreaChart,
StackedAreaSeries,
StackedNormalizedAreaSeries
}
};
export const _Simple = () => (
}
colorScheme="cybertron"
/>
}
data={multiDateData}
/>
);
export const Clicked = () => (
}
colorScheme="cybertron"
symbols={
true}
onClick={(data) => {
console.log('Clicked node:' + JSON.stringify(data));
}}
/>
}
/>
}
/>
}
data={multiDateData}
/>
);
export const LargeData = () => (
}
/>
}
xAxis={
}
/>
}
series={
}
colorScheme="cybertron"
/>
}
/>
);
LargeData.tags = ['skip-snapshot'];
export const CustomLineStyles = () => (
{
if (
data &&
data.length &&
data[0] &&
data[0].key === 'Threat Intel'
) {
console.log('Style callback...', data);
return {
strokeDasharray: '5'
};
}
}}
/>
}
colorScheme={chroma
.scale(['27efb5', '00bfff'])
.colors(multiDateData.length)}
/>
}
data={multiDateData}
/>
);
export const _LargeDataset = () => (
}
data={longMultiDateData}
/>
);
_LargeDataset.tags = ['skip-snapshot'];
export const Stacked = () => (
}
/>
}
data={multiDateData}
/>
);
export const StackedNormalized = () => (
}
/>
}
/>
);
const prettyData = (() => {
const data: any[] = [];
for (let i = 0; i < 20; i++) {
const series: any[] = [];
for (let j = 0; j < 100; j++) {
series.push({
key: j,
data: (i / 10 + 1) * Math.sin((Math.PI * (i + j)) / 50)
});
}
data.push({ key: i, data: series });
}
return data;
})();