This repository was archived by the owner on Jul 30, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy patharea-empty.tsx
More file actions
101 lines (98 loc) · 4.83 KB
/
area-empty.tsx
File metadata and controls
101 lines (98 loc) · 4.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/**
* Sample for Area series with empty points
*/
import * as React from "react";
import * as ReactDOM from "react-dom";
import {
ChartComponent, SeriesCollectionDirective, SeriesDirective, Inject,
Category, AreaSeries, ILoadedEventArgs, ChartTheme, Legend
} from '@syncfusion/ej2-react-charts';
import { Browser } from '@syncfusion/ej2-base';
import { SampleBase } from '../common/sample-base';
export let data1: any[] = [{ x: '2002', y: 2 }, { x: '2003', y: 1.7 }, { x: '2004', y: 1.8 }, { x: '2005', y: 2.1 },
{ x: '2006', y: 2.3 }, { x: '2007', y: 1.7 }, { x: '2008', y: 1.5 }, { x: '2009', y: 1.8 },
{ x: '2010', y: 2 }, { x: 2011, y: 3.1 }];
export let data2: any[] = [{ x: '2002', y: 2.2 }, { x: '2003', y: 3.4 }, { x: '2004', y: 2.8 }, { x: '2005', y: null },
{ x: '2006', y: null }, { x: '2007', y: 2.5 }, { x: '2008', y: 2.9 }, { x: '2009', y: 3.8 },
{ x: '2010', y: 1.4 }, { x: 2011, y: 3.1 }];
const SAMPLE_CSS = `
.control-fluid {
padding: 0px !important;
}`;
/**
* Area empty sample
*/
export class AreaEmpty extends SampleBase<{}, {}> {
render() {
return (
<div className='control-pane'>
<style>
{SAMPLE_CSS}
</style>
<div className='control-section'>
<ChartComponent id='charts' style={{ textAlign: "center" }}
primaryXAxis={{
valueType: 'Category',
interval: 2,
majorGridLines: { width: 0 },
edgeLabelPlacement: 'Shift'
}}
primaryYAxis={{
title: 'Rates',
labelFormat: '{value}M',
lineStyle: { width: 0 },
majorTickLines: { width: 0 },
minorTickLines: { width: 0 },
minimum: 1, maximum: 5, interval: 1
}}
chartArea={{ border: { width: 0 } }}
load={this.load.bind(this)}
width={Browser.isDevice ? '100%' : '60%'}
title="Inflation Rate" loaded={this.onChartLoad.bind(this)}>
<Inject services={[AreaSeries, Category, Legend]} />
<SeriesCollectionDirective>
<SeriesDirective dataSource={data1} xName='x' yName='y' name='France'
opacity={0.8} type='Area' width={2}>
</SeriesDirective>
<SeriesDirective dataSource={data2} xName='x' yName='y' name='US'
opacity={0.8} type='Area' width={2}>
</SeriesDirective>
</SeriesCollectionDirective>
</ChartComponent>
</div>
<div id="action-description">
<p>
This sample illustrates an area series with empty points.
Data points with null points are dropped here.
</p>
</div>
<div id="description">
<p>
In this example, you can see how to render and configure the area type charts. Similar to line type series, but the area get closed and filled with series color.
You can use <code>border</code>, <code>fill</code> properties to customize the area. <code>marker</code> and <code>dataLabel</code> are used to represent individual data and its value.
Legend is enabled in this example with series type shape.
</p>
<br></br>
<p><b>Injecting Module</b></p>
<p>
Chart component features are segregated into individual feature-wise modules. To use area series, we need to inject
<code>AreaSeries</code> module into <code>services</code>.
</p>
<p>
More information on the area series can be found in this
<a target="_blank" href="http://ej2.syncfusion.com/react/documentation/chart/api-series.html#type-chartseriestype">documentation section</a>.
</p>
</div>
</div>
)
}
public onChartLoad(args: ILoadedEventArgs): void {
let chart: Element = document.getElementById('charts');
chart.setAttribute('title', '');
};
public load(args: ILoadedEventArgs): void {
let selectedTheme: string = location.hash.split('/')[1];
selectedTheme = selectedTheme ? selectedTheme : 'Material';
args.chart.theme = (selectedTheme.charAt(0).toUpperCase() + selectedTheme.slice(1)) as ChartTheme;
};
}