storybook/stories/area/20_stepped_area.story.tsx (427 lines of code) (raw):
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import React from 'react';
import { AreaSeries, Axis, Chart, CurveType, Position, ScaleType, Settings } from '@elastic/charts';
import type { ChartsStory } from '../../types';
import { useBaseTheme } from '../../use_base_theme';
const data = [
{
key: 0,
doc_count: 0,
},
{
key: 107.2871113576205,
doc_count: 0,
},
{
key: 133,
doc_count: 169,
},
{
key: 164.87534966839775,
doc_count: 1984,
},
{
key: 204.39008216749184,
doc_count: 1376,
},
{
key: 253.37508470765238,
doc_count: 692,
},
{
key: 314.100042770181,
doc_count: 287,
},
{
key: 389.378604380393,
doc_count: 222,
},
{
key: 482.69874850082726,
doc_count: 564,
},
{
key: 598.3843980719687,
doc_count: 4045,
},
{
key: 741.7957659265381,
doc_count: 8143,
},
{
key: 919.5777164637204,
doc_count: 15190,
},
{
key: 1139.967650746035,
doc_count: 23055,
},
{
key: 1413.1771806572506,
doc_count: 15015,
},
{
key: 1751.8652767237954,
doc_count: 14600,
},
{
key: 2171.7248125696256,
doc_count: 17494,
},
{
key: 2692.2096831274607,
doc_count: 13394,
},
{
key: 3337.4361871149363,
doc_count: 13903,
},
{
key: 4137.300438695783,
doc_count: 21022,
},
{
key: 5128.863582805883,
doc_count: 30053,
},
{
key: 6358.068997117526,
doc_count: 37550,
},
{
key: 7881.871045981584,
doc_count: 40121,
},
{
key: 9770.874020657398,
doc_count: 41401,
},
{
key: 12112.60353926129,
doc_count: 37269,
},
{
key: 15015.56198443892,
doc_count: 27225,
},
{
key: 18614.255884600516,
doc_count: 19608,
},
{
key: 23075.428178876242,
doc_count: 13488,
},
{
key: 28605.7841333851,
doc_count: 10287,
},
{
key: 35461.56888368852,
doc_count: 7402,
},
{
key: 43960.44037209106,
doc_count: 4775,
},
{
key: 54496.18780394934,
doc_count: 3816,
},
{
key: 67556.97759226183,
doc_count: 2524,
},
{
key: 83747.97220349085,
doc_count: 2613,
},
{
key: 103819.3699328557,
doc_count: 1984,
},
{
key: 128701.16481227305,
doc_count: 2151,
},
{
key: 159546.2372267188,
doc_count: 3005,
},
{
key: 197783.77181227363,
doc_count: 2492,
},
{
key: 245185.47771641501,
doc_count: 1576,
},
{
key: 303947.67948952696,
doc_count: 718,
},
{
key: 376793.0822310816,
doc_count: 453,
},
{
key: 467096.9262066379,
doc_count: 225,
},
{
key: 579043.3762207008,
doc_count: 107,
},
{
key: 717819.3919365238,
doc_count: 63,
},
{
key: 889855.0619871503,
doc_count: 20,
},
{
key: 1103121.537588911,
doc_count: 23,
},
{
key: 1367500.3702008445,
doc_count: 20,
},
{
key: 1695241.366229529,
doc_count: 21,
},
{
key: 2101530.173153578,
doc_count: 10,
},
{
key: 2605191.89576981,
doc_count: 8,
},
{
key: 3229563.3441227335,
doc_count: 33,
},
{
key: 4003574.3281088388,
doc_count: 979,
},
{
key: 4963088.099777182,
doc_count: 2199,
},
{
key: 6152563.051773136,
doc_count: 965,
},
{
key: 7627112.665548564,
doc_count: 72,
},
{
key: 9455059.155583354,
doc_count: 51,
},
{
key: 11721099.130918715,
doc_count: 64,
},
{
key: 14530227.95269304,
doc_count: 12,
},
{
key: 18012604.620013494,
doc_count: 2,
},
{
key: 22329582.59521292,
doc_count: 2,
},
{
key: 27681186.00251957,
doc_count: 3,
},
{
key: 34315377.60452156,
doc_count: 2,
},
{
key: 42539547.981568344,
doc_count: 13,
},
{
key: 52734758.257117845,
doc_count: 13,
},
{
key: 65373396.295644514,
doc_count: 24,
},
{
key: 81041064.46056497,
doc_count: 28,
},
{
key: 100463713.0859759,
doc_count: 51,
},
{
key: 124541276.87245026,
doc_count: 93,
},
{
key: 154389372.72551844,
doc_count: 183,
},
{
key: 191390991.07672492,
doc_count: 208,
},
{
key: 237260575.76809216,
doc_count: 91,
},
{
key: 294123461.59616184,
doc_count: 6,
},
{
key: 364614350.19809616,
doc_count: 5,
},
{
key: 451999387.09042615,
doc_count: 2,
},
{
key: 560327496.2138001,
doc_count: 0.0001,
},
{
key: 694617983.9629189,
doc_count: 0,
},
{
key: 861093105.2018316,
doc_count: 1,
},
{
key: 1067466367.046606,
doc_count: 0.0001,
},
{
key: 1323299928.7673922,
doc_count: 0,
},
{
key: 1640447657.681875,
doc_count: 0,
},
{
key: 2033604369.721831,
doc_count: 0,
},
{
key: 2520986703.3463764,
doc_count: 1,
},
{
key: 3125177174.6136513,
doc_count: 3,
},
{
key: 3874170522.10617,
doc_count: 1,
},
{
key: 4802670823.362817,
doc_count: 4,
},
{
key: 5953699483.790642,
doc_count: 2,
},
{
key: 7380588603.086767,
doc_count: 2,
},
{
key: 9149452080.394913,
doc_count: 10,
},
{
key: 11342248955.107962,
doc_count: 5,
},
{
key: 14060580921.04847,
doc_count: 3,
},
{
key: 17430399969.162903,
doc_count: 6,
},
{
key: 21607844284.02827,
doc_count: 7,
},
{
key: 26786472796.311687,
doc_count: 9,
},
{
key: 33206233599.059467,
doc_count: 11,
},
{
key: 41164581773.04837,
doc_count: 10,
},
{
key: 51030261757.77967,
doc_count: 13,
},
{
key: 63260392864.53983,
doc_count: 6,
},
{
key: 78421649576.7008,
doc_count: 8,
},
{
key: 97216518011.51195,
doc_count: 4,
},
{
key: 120515845117.98601,
doc_count: 0.0001,
},
{
key: 149399188754.96533,
doc_count: 0,
},
{
key: 185204838241.72855,
doc_count: 0,
},
];
export const Example: ChartsStory = (_, { title, description }) => {
return (
<Chart title={title} description={description} className="story-chart">
<Settings baseTheme={useBaseTheme()} />
<Axis id="X" title="index" position={Position.Bottom} />
<Axis id="Y" position={Position.Left} />
<AreaSeries
id="areas"
xScaleType={ScaleType.Log}
yScaleType={ScaleType.Log}
xAccessor="key"
yAccessors={['doc_count']}
data={data.map((d) => ({ ...d, doc_count: d.doc_count < 1 ? null : d.doc_count }))}
curve={CurveType.CURVE_STEP_AFTER}
tickFormat={(d) => d.toFixed(1)}
/>
</Chart>
);
};