# mpchart
## 简介
mpchart是一个包含各种类型图表的图表库,主要用于业务数据汇总,例如销售数据走势图,股价走势图等场景中使用,方便开发者快速实现图表UI,mpchart主要包括线形图、柱状图、饼状图、蜡烛图、气泡图、雷达图、瀑布图等自定义图表库。
## 效果展示:
![gif](preview/preview.gif)
## 安装教程
```
ohpm install @ohos/mpchart
```
OpenHarmony ohpm环境配置等更多内容,请参考 [如何安装OpenHarmony ohpm包](https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_har_usage.md) 。
## 使用说明
### 柱状图
1. 柱状图数据初始化:
```
import {
BarChart, // 柱状图图表类
BarChartModel, // 柱状图配置构建类
BarData, // 柱状图数据包
BarDataSet, // 柱状图数据集合
BarEntry, // 柱状图数据结构
ChartGesture, // 手势事件模式
Description, // 图表Description(描述)部件
EntryOhos, // 图表数据结构基础类
Fill, // 图表填充类型构建类
Highlight, // 图表高亮数据
IBarDataSet, // 柱状图数据集合的操作类
JArrayList, // 工具类:数据集合
Legend, // 图表Legend(图例)部件
LimitLabelPosition, // 图表的LimitLine标签位置枚举类
LimitLine, // 图表LimitLine
MarkerView, // 图表的Marker(标志气泡)部件
OnChartGestureListener, // 手势事件监听
OnChartValueSelectedListener, // 数据选择监听
XAxis, // 图表X轴部件
XAxisPosition, // 图表X轴标签位置枚举类
YAxis, // 图表Y轴部件
YAxisLabelPosition // 图表Y轴标签位置枚举类
} from '@ohos/mpchart';
// 构造数据选择监听器
private valueSelectedListener: OnChartValueSelectedListener = {
onValueSelected: (e: EntryOhos, h: Highlight) => {
// ...todoSomething
},
onNothingSelected: () => {
// ...todoSomething
}
}
// 构造手势识别事件监听器
private chartGestureListener: OnChartGestureListener = {
onChartGestureStart: (isTouchEvent: boolean, me: TouchEvent | GestureEvent, lastPerformedGestureMode: ChartGesture) => {
},
onChartGestureEnd: (isTouchEvent: boolean, me: TouchEvent | GestureEvent, lastPerformedGestureMode: ChartGesture) => {
// ...todoSomething
},
onChartLongPressed: (isTouchEvent: boolean, me: TouchEvent | GestureEvent) => {
// ...todoSomething
},
onChartDoubleTapped: (isTouchEvent: boolean, me: TouchEvent | GestureEvent) => {
// ...todoSomething
},
onChartSingleTapped: (isTouchEvent: boolean, me: TouchEvent | GestureEvent) => {
// ...todoSomething
},
onChartFling: (isTouchEvent: boolean, me1: TouchEvent | GestureEvent, me2: TouchEvent, velocityX: number, velocityY: number) => {
// ...todoSomething
},
onChartScale: (isTouchEvent: boolean, me: TouchEvent | GestureEvent, scaleX: number, scaleY: number) => {
// ...todoSomething
},
onChartTranslate: (isTouchEvent: boolean, me: TouchEvent | GestureEvent, dX: number, dY: number) => {
// ...todoSomething
}
}
// 图表数据初始化
aboutToAppear() {
// Step1:必须:初始化图表配置构建类
this.model = new BarChartModel();
// Step2:配置图表指定样式,各部件间没有先后之分
// 为图表添加数据选择的监听器
this.model.setOnChartValueSelectedListener(this.valueSelectedListener);
// 为图表添加手势识别监听器
this.model.setOnChartGestureListener(this.chartGestureListener);
// 获取图表描述部件,设置图表描述部件不可用,即图表不进行绘制描述部件
let description: Description | null = this.model.getDescription()
if (description) {
description.setEnabled(false);
}
// 获取图表图例部件,设置图表图例部件不可用
let l: Legend | null = this.model.getLegend();
if (l) {
l.setEnabled(false);
}
// 设置图表数据最大的绘制数,如果超过该数值,则不进行绘制图表的数值标签
this.model.setMaxVisibleValueCount(40);
// 是否绘制图表的背景色,绘制范围为图表柱状图的绘制范围,不包含轴线之外的部分
this.model.setDrawGridBackground(false);
// 设置图表的背景色,颜色的规格需要满足CanvasRenderingContext2D.fillstyle/strokestyle规格
this.model.setGridBackgroundColor('#500000ff')
// 设置不绘制柱状图的柱体阴影背景
this.model.setDrawBarShadow(false);
// 设置柱状图的数值在柱体上方
this.model.setDrawValueAboveBar(false);
// 设置柱状图的高亮范围是否为整个柱体,只在堆叠柱状图中有区别
this.model.setHighlightFullBarEnabled(false);
// 为左Y轴设置LimitLine,可设置限制线的宽度,线段样式,限制标签的位置,标签字体大小等
this.limitLine1 = new LimitLine(120, 'Upper Limit');
this.limitLine1.setLineWidth(4);
this.limitLine1.enableDashedLine(10, 10, 0);
this.limitLine1.setLabelPosition(LimitLabelPosition.RIGHT_TOP);
this.limitLine1.setTextSize(10);
this.limitLine2 = new LimitLine(50, 'Lower Limit');
this.limitLine2.setLineWidth(4);
this.limitLine2.enableDashedLine(10, 10, 0);
this.limitLine2.setLineColor(Color.Yellow);
this.limitLine2.setLabelPosition(LimitLabelPosition.RIGHT_BOTTOM);
this.limitLine2.setTextSize(10);
// 设置图表左Y轴信息
this.leftAxis = this.model.getAxisLeft();
if (this.leftAxis) {
this.leftAxis.setAxisMinimum(0); // this replaces setStartAtZero(true)
this.leftAxis.setDrawLimitLinesBehindData(false);
// 添加LimitLines
this.leftAxis.addLimitLine(this.limitLine1);
this.leftAxis.addLimitLine(this.limitLine2);
}
// 设置图表右Y轴信息
this.rightAxis = this.model.getAxisRight();
if (this.rightAxis) {
this.rightAxis.setEnabled(false);
this.rightAxis.setAxisMinimum(0);
}
// 设置X轴信息
this.xAxis = this.model.getXAxis();
if (this.xAxis) {
this.xAxis.setPosition(XAxisPosition.BOTTOM);
}
// 为图表设置markerView
this.normalMarker = new MarkerView();
this.model.setMarker(this.normalMarker);
// 也可设置定义图表MarkerView
this.stackMarker = new CustomMarkerView();
// 生成单一颜色数据
this.data = this.getNormalData();
// 将数据与图表配置类绑定
this.model.setData(this.data);
// 设置图表最大的X轴显示范围,如不设置,则默认显示全部数据
this.model.setVisibleXRangeMaximum(20);
}
private getNormalData(): BarData {
let values: JArrayList<BarEntry> = new JArrayList<BarEntry>();
values.add(new BarEntry(1, 73.3));
values.add(new BarEntry(2, 5.4));
let dataSet: BarDataSet = new BarDataSet(values, 'DataSet');
dataSet.setHighLightColor(Color.Black);
dataSet.setDrawIcons(false);
// 为柱体添加颜色信息
dataSet.setColorByColor(Color.Pink);
let dataSetList: JArrayList<IBarDataSet> = new JArrayList<IBarDataSet>();
dataSetList.add(dataSet);
let barData: BarData = new BarData(dataSetList);
//设置柱状图宽度
barData.setBarWidth(0.85);
//设置顶部圆角半径
barData.setTopRadius(5);
return barData;
}
private getGradientData(): BarData {
let values: JArrayList<BarEntry> = new JArrayList<BarEntry>();
values.add(new BarEntry(1, 32.9));
values.add(new BarEntry(2, 44.7));
let dataSet: BarDataSet = new BarDataSet(values, 'DataSet');
dataSet.setHighLightColor(Color.Black);
dataSet.setDrawIcons(false);
let startColor1: string = '#ffffbb33';
let startColor2: string = '#ff33b5e5';
let startColor3: string = '#ffffbb33';
let startColor4:
没有合适的资源?快使用搜索试试~ 我知道了~
mpchart是一个包含各种类型图表的图表库
共322个文件
ets:245个
png:13个
sample:12个
需积分: 0 0 下载量 30 浏览量
2024-04-26
22:18:39
上传
评论
收藏 17.27MB ZIP 举报
温馨提示
mpchart是一个包含各种类型图表的图表库,主要用于业务数据汇总,例如销售数据走势图,股价走势图等场景中使用,方便开发者快速实现图表UI,mpchart主要包括线形图、柱状图、饼状图、蜡烛图、气泡图、雷达图、瀑布图等自定义图表库。
资源推荐
资源详情
资源评论
收起资源包目录
mpchart是一个包含各种类型图表的图表库 (322个子文件)
hvigorw.bat 1KB
config 313B
description 73B
OtherSine.ets 262KB
BarLineChartBaseModel.ets 63KB
ChartModel.ets 54KB
PieChartRenderer.ets 42KB
BarLineChartTouchListener.ets 37KB
ScrollBarChartPage.ets 34KB
Utils.ets 31KB
LineChartRenderer.ets 29KB
LineChartPage.ets 26KB
Cosine.ets 24KB
Sine.ets 24KB
XAxisRenderer.ets 24KB
LegendRenderer.ets 23KB
Paint.ets 23KB
Legend.ets 23KB
PieChartModel.ets 23KB
ChartData.ets 23KB
AxisBase.ets 23KB
WaterfallChartRenderer.ets 22KB
YAxisRenderer.ets 21KB
BarChartRenderer.ets 21KB
CustomMarkerViewChartPage.ets 18KB
ViewPortHandler.ets 17KB
HorizontalBarChartRenderer.ets 17KB
CandleStickChartRenderer.ets 15KB
PieRadarChartBaseModel.ets 15KB
RadarChartRenderer.ets 15KB
index.ets 14KB
BaseDataSet.ets 14KB
YAxisRendererHorizontalBarChart.ets 14KB
Transformer.ets 13KB
IDataSet.ets 13KB
DualAxisPage.ets 13KB
XAxisRendererHorizontalBarChart.ets 13KB
Fill.ets 13KB
BarChartMultiplePage.ets 13KB
HorizontalBarChartModel.ets 12KB
SimpleWaterfallChartPage.ets 12KB
InvertedAxisPage.ets 12KB
CubicAxisPage.ets 12KB
ScrollBarChartPage2.ets 12KB
StackedBarChartPage.ets 11KB
PieChartPage.ets 11KB
DataSet.ets 11KB
PiePolylineChartPage.ets 11KB
PieRadarChartTouchListener.ets 11KB
YAxis.ets 11KB
StackedNegativePage.ets 11KB
BubbleChartRenderer.ets 11KB
RadarChartModel.ets 11KB
LineDataSet.ets 10KB
CustomGridLineChartPage.ets 10KB
MultiplePage.ets 10KB
BarChartPage2.ets 10KB
SineBarChartPage.ets 10KB
BarChartNegativePage.ets 10KB
BarChartModel.ets 10KB
ChartHighlighter.ets 9KB
CombinedData.ets 9KB
AxisRenderer.ets 9KB
CombinedChartModel.ets 9KB
YAxisRendererRadarChart.ets 9KB
RealtimePage.ets 8KB
CombinedChartPage.ets 8KB
HorizontalBarNegativeChartPage.ets 8KB
InterfacePerformancePage.ets 8KB
ObjectPool.ets 8KB
PieDataSet.ets 8KB
ScatterChartPage.ets 8KB
BarDataSet.ets 8KB
HorizontalBarChartPage.ets 8KB
BubbleChartPage.ets 8KB
CombinedChartRenderer.ets 8KB
CandleDataSet.ets 8KB
HalfPieChartPage.ets 8KB
DynamicPage.ets 7KB
FilledAxisPage.ets 7KB
ScatterChartRenderer.ets 7KB
ChartAnimator.ets 7KB
ColorTemplate.ets 7KB
LineChart.ets 7KB
Matrix.ets 7KB
DataRenderer.ets 7KB
BarChart.ets 7KB
Rect.ets 7KB
ContentItemData.ets 7KB
PerformanceAxisPage.ets 7KB
RadarChartPage.ets 7KB
CandlestickChartPage.ets 6KB
XAxis.ets 6KB
ListViewMultiChartPage.ets 6KB
ScatterDataSet.ets 6KB
frag_simple_line_circle_index.ets 6KB
ChartTouchListener.ets 5KB
LimitLine.ets 5KB
ColorfulPage.ets 5KB
Highlight.ets 5KB
共 322 条
- 1
- 2
- 3
- 4
资源评论
阿康毕业设计|简历辅导
- 粉丝: 286
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 海信智能电视刷机数据 LED32K20JD(1115)BOM5 生产用软件数据 务必确认机编一致 强制刷机 整机USB升级程序
- 520表白html5爱心代码
- TINY Syntax Tree -setup1.0.0
- mmexport1689832776313.jpg
- 月宝の病理の爱(黑).zi
- 海信智能电视刷机数据 LED32EC510N(2000)BOM22 生产用软件数据 务必确认机编一致 强制刷机 整机USB升级
- 电磁场与波,非常基础的知识总结
- android ios java后台通用DES base64加密
- 华为OD刷题C卷练习记录(300道).rar
- 最新《Vue-框架开发》期末考试试题分享给需要的同学
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功