Skip to content

Commit

Permalink
import LUXON version 2.4.0
Browse files Browse the repository at this point in the history
  • Loading branch information
stockiNail committed May 9, 2022
1 parent 5b05ec4 commit 2b16642
Show file tree
Hide file tree
Showing 91 changed files with 2,333 additions and 2,333 deletions.
20 changes: 10 additions & 10 deletions docs/Controllers.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ For this reason, **Charba** provides the interfaces to create controllers **ONLY

To create own chart type, you need to perform some specific and mandatory steps:

1. create a [controller type](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/controllers/ControllerType.html)
2. implement the [controller](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/Controller.html) interface where all hooks are defined
3. extend the [dataset](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/data/Dataset.html) class of the original chart type
4. extend the [chart](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/IsChart.html) class of the original chart type
1. create a [controller type](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/controllers/ControllerType.html)
2. implement the [controller](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/Controller.html) interface where all hooks are defined
3. extend the [dataset](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/data/Dataset.html) class of the original chart type
4. extend the [chart](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/IsChart.html) class of the original chart type

### Creating a controller type

Expand All @@ -35,7 +35,7 @@ This id should follow the name convention (otherwise an [illegal argument](http
* can not start with a dot or an underscore
* can not contain any non-URL-safe characters

The [controller type](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/controllers/ControllerType.html) is an entity which must be implemented for every controller you want to implement. A controller type implements [Type](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/Type.html) interface like all other chart types available out-of-the-box.
The [controller type](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/controllers/ControllerType.html) is an entity which must be implemented for every controller you want to implement. A controller type implements [Type](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/Type.html) interface like all other chart types available out-of-the-box.

Here are the way how to create a controller type:

Expand All @@ -52,7 +52,7 @@ ControllerType myLine = new ControllerType("myline", ChartType.LINE, new Control
});
```

The controller type constructor is getting a [controller provider](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/controllers/ControllerProvider.html) instance as argument in order to provide the controller during the registration.
The controller type constructor is getting a [controller provider](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/controllers/ControllerProvider.html) instance as argument in order to provide the controller during the registration.

The controller is usually automatically registered in [Chart.JS](http://www.chartjs.org/) when used. Anyway the controller type object is providing the method to **register** the controller programmatically in [Chart.JS](http://www.chartjs.org/):

Expand All @@ -61,7 +61,7 @@ The controller is usually automatically registered in [Chart.JS](http://www.char
myControllerType.register();
```

You can also be notified when and if the registration of the controller ended correctly. This is done by the implementation of [ControllerRegistrationHandler](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/controllers/ControllerRegistrationHandler.html) interface to set during the controller type creation.
You can also be notified when and if the registration of the controller ended correctly. This is done by the implementation of [ControllerRegistrationHandler](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/controllers/ControllerRegistrationHandler.html) interface to set during the controller type creation.

```java
// creates a chart extending the existing chart LINE
Expand Down Expand Up @@ -95,15 +95,15 @@ ControllerType myLine = new ControllerType("myline", ChartType.LINE, myControlle

### Hooks

A controller must implement the [Controller](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/Controller.html) interface which is containing all hooks which will be invoked during the whole chart life cycle.
A controller must implement the [Controller](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/Controller.html) interface which is containing all hooks which will be invoked during the whole chart life cycle.

The interface provides **before** and **after** hooks for each phases exposes by [Chart.JS controller](https://www.chartjs.org/docs/3.7.1/developers/charts.html):

#### Initialization

Every controller is initialized every time new chart instance is creating.

The following hooks (the following ones are the methods definitions in the [Controller](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/Controller.html)) can be used to initialize the chart:
The following hooks (the following ones are the methods definitions in the [Controller](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/Controller.html)) can be used to initialize the chart:

```java
/**
Expand Down Expand Up @@ -245,7 +245,7 @@ The rendering process is documented in the flowchart below.

### Implementing a controller

The easy way to implement a controller is to extends the [AbstractController](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/controllers/AbstractController.html) class and pass the controller type by the constructor.
The easy way to implement a controller is to extends the [AbstractController](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/controllers/AbstractController.html) class and pass the controller type by the constructor.

```java
// new controller
Expand Down
14 changes: 7 additions & 7 deletions docs/DateAdapters.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ To see all available formats, have a look [here](https://moment.github.io/luxon/

[Luxon](https://moment.github.io/luxon/) can be configured in order to update some behavior during parsing, formatting and date management.

The [Luxon options](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/adapters/DateAdapterOptions.html) can be used as following:
The [Luxon options](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/adapters/DateAdapterOptions.html) can be used as following:

```java
// creates a time series axis
Expand All @@ -52,18 +52,18 @@ The following are the attributes that you can set:

| Name | Type | Default | Description
| :- | :- | :- | :-
| locale | [CLocale](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/intl/CLocale.html) | `null` | Using locale specifying the language to use generating or interpreting strings.
| zone | [TimeZone](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/intl/enums/TimeZone.html) | `null` | Implementation recognizes the time zone names of the IANA time zone database.
| outputCalendar | [Calendar](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/intl/enums/Calendar.html) | `null` | The calendar type to use.
| numberingSystem | [NumberingSystem](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/intl/enums/NumberingSystem.html) | `null` | The numbering system to use.
| locale | [CLocale](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/intl/CLocale.html) | `null` | Using locale specifying the language to use generating or interpreting strings.
| zone | [TimeZone](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/intl/enums/TimeZone.html) | `null` | Implementation recognizes the time zone names of the IANA time zone database.
| outputCalendar | [Calendar](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/intl/enums/Calendar.html) | `null` | The calendar type to use.
| numberingSystem | [NumberingSystem](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/intl/enums/NumberingSystem.html) | `null` | The numbering system to use.

For more details, have a look how to configure [time axes adapters](./axes/CartesianTimeAxes#adapters) and the [INTL locale](./intl/Locale) documentation.

## Using the date adapter

**Charba** enables the possibility to get a [date adapter](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/adapters/DateAdapter.html) instance from [Chart.JS](http://www.chartjs.org/) which can provides some capabilities, like formatting, parsing and date operations.
**Charba** enables the possibility to get a [date adapter](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/adapters/DateAdapter.html) instance from [Chart.JS](http://www.chartjs.org/) which can provides some capabilities, like formatting, parsing and date operations.

Here is an example how to use a [date adapter](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/adapters/DateAdapter.html) to format ticks by callback:
Here is an example how to use a [date adapter](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/adapters/DateAdapter.html) to format ticks by callback:

```java
// creates a time axis
Expand Down
2 changes: 1 addition & 1 deletion docs/Overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,6 @@ As of version **3**, **Charba** has got an own DOM tree manager which allows to
* Tick callback to define the amount of decimals digits of the axis number values when all datasets are hidden
* Legend callback to avoid to hide all datasets
* Datalabels listeners callback to change cursor hovering the labels
* Datalabels listeners callback to select the labels, leveraging on [DatasetSelectionEventHandler](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/events/DatasetSelectionEventHandler.html)
* Datalabels listeners callback to select the labels, leveraging on [DatasetSelectionEventHandler](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/events/DatasetSelectionEventHandler.html)
* Datalabels formatter callback to return the percentage as value to show in the chart

20 changes: 10 additions & 10 deletions docs/Regressions.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,9 @@ Console.log(regression.toFormula(3)); // emit "f(x) = 2.00 * x - 1.00"

### Score

The [regression score](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/RegressionScore.html) provides the estimation and inference in the regressions. It can provide some methods which differ in computational simplicity of algorithms, presence of a closed-form solution, robustness with respect to heavy-tailed distributions, and theoretical assumptions needed to validate desirable statistical properties such as consistency and asymptotic efficiency.
The [regression score](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/RegressionScore.html) provides the estimation and inference in the regressions. It can provide some methods which differ in computational simplicity of algorithms, presence of a closed-form solution, robustness with respect to heavy-tailed distributions, and theoretical assumptions needed to validate desirable statistical properties such as consistency and asymptotic efficiency.

The [regression score](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/RegressionScore.html) provides:
The [regression score](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/RegressionScore.html) provides:

* **R (R)**, which is the proportion of variation in the outcome that is explained by the predictor variables. In multiple regression models, R corresponds to the correlation between the observed outcome values and the predicted values by the model. The higher the _R_, the better the model
* **R-squared (R2)**, which is the proportion of variation in the outcome that is explained by the predictor variables. In multiple regression models, _R2_ corresponds to the squared correlation between the observed outcome values and the predicted values by the model. The Higher the R-squared, the better the model
Expand Down Expand Up @@ -105,7 +105,7 @@ Console.log(score.getRmsd()); // emit 0

The provided regression instances can be used separately from charts or can be used in order to add to the chart a specific dataset with the predicted data.

To create a specific [regression dataset](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/RegressionDataset.html), which is an extended [line dataset](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/data/LineDataset.html), **Charba** provides a specific builder in order to create the dataset which is created implementing a regression.
To create a specific [regression dataset](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/RegressionDataset.html), which is an extended [line dataset](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/data/LineDataset.html), **Charba** provides a specific builder in order to create the dataset which is created implementing a regression.

```java
// creates chart
Expand Down Expand Up @@ -139,7 +139,7 @@ chart.getData().setDatasets(dataset, trend);
<br/>
<br/>

A regression [regression dataset](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/RegressionDataset.html) can also be used to add a forecast line to show in the chart.
A regression [regression dataset](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/RegressionDataset.html) can also be used to add a forecast line to show in the chart.

```java
// creates chart
Expand Down Expand Up @@ -205,7 +205,7 @@ The simple linear regression model can be represented using the below equation:

#### Creating a linear regression

**Charba** provides a [builder](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/RegressionBuilder.html) to create a [simple linear regression](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/LinearRegression.html), passing the samples, in order to enable the use to predict values.
**Charba** provides a [builder](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/RegressionBuilder.html) to create a [simple linear regression](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/LinearRegression.html), passing the samples, in order to enable the use to predict values.

```java
// creates samples
Expand Down Expand Up @@ -240,7 +240,7 @@ Power regression is a non-linear regression technique that looks like this:

#### Creating a power regression

**Charba** provides a [builder](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/RegressionBuilder.html) to create a [power regression](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/PowerRegression.html), passing the samples, in order to enable the use to predict values.
**Charba** provides a [builder](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/RegressionBuilder.html) to create a [power regression](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/PowerRegression.html), passing the samples, in order to enable the use to predict values.

```java
// creates samples
Expand Down Expand Up @@ -273,7 +273,7 @@ Exponential regression is a non-linear regression technique that looks like this

#### Creating an exponential regression

**Charba** provides a [builder](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/RegressionBuilder.html) to create an [exponential regression](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/ExponentialRegression.html), passing the samples, in order to enable the use to predict values.
**Charba** provides a [builder](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/RegressionBuilder.html) to create an [exponential regression](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/ExponentialRegression.html), passing the samples, in order to enable the use to predict values.

```java
// creates samples
Expand Down Expand Up @@ -310,7 +310,7 @@ The polynomial regression model can be represented using the below equation:

#### Creating a polynomial regression

**Charba** provides a [builder](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/RegressionBuilder.html) to create a [polynomial regression](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/PolynomialRegression.html), passing the samples, in order to enable the use to predict values.
**Charba** provides a [builder](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/RegressionBuilder.html) to create a [polynomial regression](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/PolynomialRegression.html), passing the samples, in order to enable the use to predict values.

```java
// creates samples
Expand Down Expand Up @@ -347,7 +347,7 @@ The robust polynomial regression model can be represented using the below equati

#### Creating a robust polynomial regression

**Charba** provides a [builder](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/RegressionBuilder.html) to create a [robust polynomial regression](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/RobustPolynomialRegression.html), passing the samples, in order to enable the use to predict values.
**Charba** provides a [builder](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/RegressionBuilder.html) to create a [robust polynomial regression](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/RobustPolynomialRegression.html), passing the samples, in order to enable the use to predict values.

```java
// creates samples
Expand Down Expand Up @@ -380,7 +380,7 @@ The TheilSen regression model can be represented using the below equation:

#### Creating a TheilSen regression

**Charba** provides a [builder](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/RegressionBuilder.html) to create a [TheilSen regression](https://pepstock-org.github.io/Charba/5.2/org/pepstock/charba/client/ml/TheilSenRegression.html), passing the samples, in order to enable the use to predict values.
**Charba** provides a [builder](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/RegressionBuilder.html) to create a [TheilSen regression](https://pepstock-org.github.io/Charba/next/org/pepstock/charba/client/ml/TheilSenRegression.html), passing the samples, in order to enable the use to predict values.

```java
// creates samples
Expand Down
Loading

0 comments on commit 2b16642

Please sign in to comment.