# EazeGraph
**Repository Path**: HarmonyOS-tpc/EazeGraph
## Basic Information
- **Project Name**: EazeGraph
- **Description**: EazeGraph是一个用于创建精美图表库。它的主要目标是创建一个轻量级的库,该库易于使用并且高度可定制,具有“最新”外观。
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 8
- **Forks**: 1
- **Created**: 2021-04-01
- **Last Updated**: 2024-05-11
## Categories & Tags
**Categories**: harmonyos-chart
**Tags**: None
## README
该三方开源库从github fork过来,主要将底层接口调用的实现修改成鸿蒙接口的实现,将三方库鸿蒙化,供开发鸿蒙应用的开发者使用
fork版本号/日期:master / 2015/10/5
# EazeGraph
EazeGraph是一个用于创建精美图表库。它的主要目标是创建一个轻量级的库,该库易于使用并且高度可定制,具有“最新”外观。
项目移植状态:支持组件所有基本功能
完成度:100%
调用差异:无
## 导入方法
**har导入**
将har包放入lib文件夹并在build.gradle添加
```
implementation fileTree(dir: 'libs', include: ['*.har'])
```
**Library引用**
添加本工程中的模块到任意工程中,在需要使用的模块build.gradle中添加
```
compile project(path: ':EazeGraphLibrary')
```
or
```
allprojects{
repositories{
mavenCentral()
}
}
implementation 'io.openharmony.tpc.thirdlib:EazeGraph:1.0.3'
```
## 使用方法
### Bar Chart
##### XML
```xml
```
##### Java
```java
mBarChart = (BarChart) findComponentById(ResourceTable.Id_barchart);
mBarChart.addBar(new BarModel(2.3f, 0xFF123456));
mBarChart.addBar(new BarModel(2.f, 0xFF343456));
mBarChart.addBar(new BarModel(3.3f, 0xFF563456));
mBarChart.addBar(new BarModel(1.1f, 0xFF873F56));
mBarChart.addBar(new BarModel(2.7f, 0xFF56B7F1));
mBarChart.addBar(new BarModel(2.f, 0xFF343456));
mBarChart.addBar(new BarModel(0.4f, 0xFF1FF4AC));
mBarChart.addBar(new BarModel(1.0f, 0xFF1FF4AC));
mBarChart.addBar(new BarModel(0.5f, 0xFF1FF4AC));
mBarChart.addBar(new BarModel(4.f, 0xFF1BA4E6));
mBarChart.addBar(new BarModel(2.3f, 0xFF123456));
mBarChart.addBar(new BarModel(2.f, 0xFF343456));
mBarChart.addBar(new BarModel(3.3f, 0xFF563456));
mBarChart.addBar(new BarModel(1.1f, 0xFF873F56));
mBarChart.addBar(new BarModel(2.7f, 0xFF56B7F1));
mBarChart.addBar(new BarModel(2.f, 0xFF343456));
mBarChart.addBar(new BarModel(0.4f, 0xFF1FF4AC));
mBarChart.addBar(new BarModel(4.f, 0xFF1BA4E6));
mBarChart.startAnimation();
```
__________
### Stacked Bar Chart
##### XML
```xml
```
##### Java
```java
StackedBarModel s1 = new StackedBarModel("12.4");
s1.addBar(new BarModel(2.3f, 0xFF63CBB0));
s1.addBar(new BarModel(2.3f, 0xFF56B7F1));
s1.addBar(new BarModel(2.3f, 0xFFCDA67F));
StackedBarModel s2 = new StackedBarModel("13.4");
s2.addBar(new BarModel(1.1f, 0xFF63CBB0));
s2.addBar(new BarModel(2.7f, 0xFF56B7F1));
s2.addBar(new BarModel(0.7f, 0xFFCDA67F));
StackedBarModel s3 = new StackedBarModel("14.4");
s3.addBar(new BarModel(2.3f, 0xFF63CBB0));
s3.addBar(new BarModel(2.f, 0xFF56B7F1));
s3.addBar(new BarModel(3.3f, 0xFFCDA67F));
StackedBarModel s4 = new StackedBarModel("15.4");
s4.addBar(new BarModel(1.f, 0xFF63CBB0));
s4.addBar(new BarModel(4.2f, 0xFF56B7F1));
s4.addBar(new BarModel(2.1f, 0xFFCDA67F));
StackedBarModel s5 = new StackedBarModel("16.4");
s5.addBar(new BarModel(32.3f, 0xFF63CBB0));
s5.addBar(new BarModel(12.f, 0xFF56B7F1));
s5.addBar(new BarModel(22.3f, 0xFFCDA67F));
StackedBarModel s6 = new StackedBarModel("17.4");
s6.addBar(new BarModel(3.f, 0xFF63CBB0));
s6.addBar(new BarModel(.7f, 0xFF56B7F1));
s6.addBar(new BarModel(1.7f, 0xFFCDA67F));
StackedBarModel s7 = new StackedBarModel("18.4");
s7.addBar(new BarModel(2.3f, 0xFF63CBB0));
s7.addBar(new BarModel(2.f, 0xFF56B7F1));
s7.addBar(new BarModel(3.3f, 0xFFCDA67F));
StackedBarModel s8 = new StackedBarModel("19.4");
s8.addBar(new BarModel(5.4f, 0xFF63CBB0));
s8.addBar(new BarModel(2.7f, 0xFF56B7F1));
s8.addBar(new BarModel(3.4f, 0xFFCDA67F));
mStackedBarChart.addBar(s1);
mStackedBarChart.addBar(s2);
mStackedBarChart.addBar(s3);
mStackedBarChart.addBar(s4);
mStackedBarChart.addBar(s5);
mStackedBarChart.addBar(s6);
mStackedBarChart.addBar(s7);
mStackedBarChart.addBar(s8);
mStackedBarChart.startAnimation();
```
__________
### PieChart
##### XML
```xml
```
##### Java
```java
mPieChart = (PieChart) findComponentById(ResourceTable.Id_piechart);
mPieChart.addPieSlice(new PieModel("Freetime", 15, Color.getIntColor("#FE6DA8")));
mPieChart.addPieSlice(new PieModel("Sleep", 25, Color.getIntColor("#56B7F1")));
mPieChart.addPieSlice(new PieModel("Work", 35, Color.getIntColor("#CDA67F")));
mPieChart.addPieSlice(new PieModel("Eating", 9, Color.getIntColor("#FED70E")));
mPieChart.startAnimation();
```
__________
### Line Chart
##### XML
```xml
```
##### Java
```java
mValueLineChart = (ValueLineChart) findComponentById(ResourceTable.Id_linechart);
loadData();
ValueLineSeries series = new ValueLineSeries();
series.setColor(0xFF63CBB0);
series.addPoint(new ValueLinePoint(4.4f));
series.addPoint(new ValueLinePoint(2.4f));
series.addPoint(new ValueLinePoint(3.2f));
series.addPoint(new ValueLinePoint(2.6f));
series.addPoint(new ValueLinePoint(5.0f));
series.addPoint(new ValueLinePoint(3.5f));
series.addPoint(new ValueLinePoint(2.4f));
series.addPoint(new ValueLinePoint(0.4f));
series.addPoint(new ValueLinePoint(3.4f));
series.addPoint(new ValueLinePoint(2.5f));
series.addPoint(new ValueLinePoint(1.4f));
series.addPoint(new ValueLinePoint(4.4f));
series.addPoint(new ValueLinePoint(2.4f));
series.addPoint(new ValueLinePoint(3.2f));
series.addPoint(new ValueLinePoint(2.6f));
series.addPoint(new ValueLinePoint(5.0f));
series.addPoint(new ValueLinePoint(3.5f));
series.addPoint(new ValueLinePoint(2.4f));
series.addPoint(new ValueLinePoint(0.4f));
series.addPoint(new ValueLinePoint(3.4f));
series.addPoint(new ValueLinePoint(2.5f));
series.addPoint(new ValueLinePoint(1.0f));
series.addPoint(new ValueLinePoint(4.4f));
series.addPoint(new ValueLinePoint(2.4f));
series.addPoint(new ValueLinePoint(3.2f));
series.addPoint(new ValueLinePoint(2.6f));
series.addPoint(new ValueLinePoint(5.0f));
series.addPoint(new ValueLinePoint(3.5f));
series.addPoint(new ValueLinePoint(2.4f));
series.addPoint(new ValueLinePoint(0.4f));
series.addPoint(new ValueLinePoint(3.4f));
series.addPoint(new ValueLinePoint(2.5f));
series.addPoint(new ValueLinePoint(1.0f));
series.addPoint(new ValueLinePoint(4.2f));
series.addPoint(new ValueLinePoint(2.4f));
series.addPoint(new ValueLinePoint(3.6f));
series.addPoint(new ValueLinePoint(1.0f));
series.addPoint(new ValueLinePoint(2.5f));
series.addPoint(new ValueLinePoint(2.0f));
series.addPoint(new ValueLinePoint(1.4f));
mValueLineChart.addSeries(series);
mValueLineChart.startAnimation();
```
## 一些功能设置介绍
**BarChart功能介绍**
1) 添加图表数据
mBarChart.addBar();
1) 添加图表数据
mBarChart.addBarList();
**PieChart功能介绍**
1) 添加数据
mPieChart.addPieSlice(PieModel slice);
1) 获取当前选中的item
mPieChart.getCurrentItem();.
1) 设置选中的item
mPieChart.setCurrentItem();
**ValueLineChart功能介绍**
1) 添加图表数据
mValueLineChart.addSeries();
1) 获取图表数据
mValueLineChart.getDataSeries();
**StackedBarChart功能介绍**
1) 添加图表数据
mBarChart.addBar();
1) 添加图表数据
mBarChart.addBarList();
**BaseChart功能介绍**
1) 设置说明文字的颜色
mBarChart.setLegendColor();
1) 设置动画的时间
mBarChart.setAnimationTime();
1) 设置文本
mBarChart.setEmptyDataText();
1) 获取是否将显示的提示转化为int类型
mBarChart.isShowDecimal();
1) 设置是否将显示的提示转化为int类型
mBarChart.setShowDecimal();
1) 获取图表的数据
mBarChart.getData();
1) 清除图表数据
mBarChart.clearChart();
1) 获取动画的时间
mBarChart.getAnimationTime();
1) 获取图表的条目间隔距离
mBarChart.getBarMargin();
1) 获取文字
mBarChart.getEmptyDataText();
1) 获取提示文字的颜色
mBarChart.getLegendColor();
1) 获取提示文字的高度
mBarChart.getLegendHeight();.
1) 获取提示文字的字体大小
mBarChart.getLegendTextSize();
**BaseBarChart功能介绍**
1) 设置每页显示的柱状个数
mBarChart.setVisibleBars();
1) 设置柱状图的边距
mBarChart.setBarMargin();
1) 设置柱状图每个条目的宽度
mBarChart.setBarWidth();
1) 获取图表的宽度
mBarChart.getBarWidth();
1) 获取图表的监听
mBarChart.getOnBarClickedListener();
1) 获取显示的条目个数
mBarChart.getVisibleBars();
1) 设置是否修复图表条目的宽度
mBarChart.setFixedBarWidth();
1) 设置图表的监听
mBarChart.setOnBarClickedListener();
1) 设置是否滚动
mBarChart.setScrollEnabled();
1) 设置滚动到最后
mBarChart.setScrollToEnd();
1) 设置是否显示值
mBarChart.setShowValues();