dynamic-pie-chart
v1.4.2
Published
This library provides a dynamic pie chart, i.e. a sector diagram widget, which is linked to a dynamic source, and available for user interaction. Each sector can be activated, or selected with the mouse pointer.
Downloads
49
Maintainers
Readme
The Dynamic Pie Chart
This library provides a dynamic pie chart, i.e. a sector diagram widget, which is linked to a dynamic source, and available for user interaction. Each sector can be activated, or selected with the mouse pointer.
A sample usage of this library can be previewed (and admired) in the Fitzhì solution.
- The release 1.1.x is associated with Angular 9.
- The release 1.2.x is associated with Angular 10.
- The release 1.3.x is associated with Angular 11.
- The release 1.4.x is associated with Angular 12.
Installing this library in your project ?
The most simple command npm install dynamic-pie-chart
will install this library
To import the module inside your application, just add the module DynamicPieChartModule in your app.module.ts
.
location :
import {DynamicPieChartModule} from 'dynamic-pie-chart';
2 mock files are provided for testing purpose. Each one is containing a sample array of slices :
- MockSlicesOne
- MockSlicesTwo
Using this library in your application ?
To include this component into a container, you just have to declare this section into the HTML template.
<lib-dynamic-pie-chart
[pie]=1
[radius]=150
[active]=true
[legend]=legend
[slices$]=slices$
[filteredSlices$]=filteredSlices$
[typeSlices$]=typeSlices$
(selected)="sliceSelection($event)"
(activated)="sliceActivation($event)">
</lib-dynamic-pie-chart>
The parameters are :
Parameter | Decorator | Comment
------------ | ------------- | -------------
pie | INPUT | the pie identifier inside the container. There can be multiple pies in the same component. Each pie must have a unique pie.
radius | INPUT | the radius of the Pie in pixel.
active | INPUT | Does this pie have to be active, or not ? A pie is a set of slices. An active pie allows each slice to be activated, or selected, by the mouse cursor.
legend | INPUT | true
or false
. Does this pie has a legend ? In this current release (1.0.0), the legend is a circle with lebel surrounding the pie.
slices$ | INPUT | an observable which publishes an array of slices to be drawn. Each sector diagram is made up of pieces, from various angles, and whose sum is equal to 360. (This widget supports a sum of tranches lower than 360). This array will be internally sorted on the type
property to provide a legend.
filteredSlices$ | INPUT | an OPTIONAL observable
which broadcasts an array of slices to be filtered on the chart.
typeSlices$ | INPUT | an observable
which publishes an array of type of slices. the array ol slices
selected | OUTPUT | an EventEmitter
to inform the parent component that a slice has been activated
activated | OUTPUT | an EventEmitter
to inform the parent component that a slice has been selected
What is a slice ?
For the component, the pie is an array of slices.
A slice is a piece of pie.
Property | type | Comment
------------ | ------------- | -------------
id | number | the identifier of the slice, un unique number per pie
type | number | the type of slice
angle | number | the angle of this slice in degree
offset | number | the offset (in degrees) of this slice within the pie. This property is there for internal use. Its value will be processed by the component.
backgroundColor | string | the background color of this slice
textColor | string | the color of the 'numeric' value associated to slice
textFontSize | string | the font size attributed to this value
data | any | the data object associated to this child.
children | array of any | an array of data which can be considered as the children linked to this slice
activated | boolean | true
or false
if this slice is activated (the end-user has moved the mouse on it)
selected | boolean | true
or false
if this slice is selected (the end-user has clicked on it)
What is a type of slice ?
A type of slices is a reference table of legend.