#鸿蒙通关秘籍#如何在鸿蒙OS中使用MpChart实现柱状图和曲线图?

HarmonyOS
2024-12-03 11:09:53
824浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Y影流光MOQ

在鸿蒙OS中,可以使用MpChart库来实现各种自定义图表。以下是关于如何实现柱状图和曲线图的详细步骤:

步骤1:初始化图表配置构建类

柱状图

const model = new BarChartModel();
model.setMaxVisibleValueCount(VISIBLE_VALUE_COUNT);
model.setDrawGridBackground(true);
model.setGridBackgroundColor(GRID_BG_COLOR);
model.setDrawBarShadow(false);
model.setDrawValueAboveBar(true);
model.setHighlightFullBarEnabled(true);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

曲线图

const model = new LineChartModel();
model.setPinchZoom(false);
model.setDrawGridBackground(false);
  • 1.
  • 2.
  • 3.

步骤2:设置X轴和Y轴

X轴Y轴设定

  • 柱状图:
const xAxis = model.getXAxis();
if (xAxis) {
  xAxis.setDrawGridLines(false);
  xAxis.setLabelCount(LABEL_COUNT, false);
  xAxis.setPosition(XAxisPosition.BOTTOM);
  xAxis.setValueFormatter(new XValueFormatter());
}

const leftAxis = model.getAxisLeft();
if (leftAxis) {
  leftAxis.setAxisMinimum(ZERO);
  leftAxis.setDrawLimitLinesBehindData(false);
  leftAxis.setValueFormatter(new YValueFormatter());
  leftAxis.addLimitLine(limitLine);
}

const rightAxis = model.getAxisRight();
if (rightAxis) {
  rightAxis.setEnabled(false);
  rightAxis.setAxisMinimum(ZERO);
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 曲线图:
const xAxis = model.getXAxis();
if (xAxis) {
  xAxis.setPosition(XAxisPosition.BOTTOM);
  xAxis.setDrawGridLines(true);
  xAxis.setGranularity(1);
  xAxis.setValueFormatter(new XValueFormatter());
  xAxis.setLabelCount(10);
  xAxis.enableGridDashedLine(2, 2, 0);
}

const leftAxis = model.getAxisLeft();
if (leftAxis) {
  leftAxis.setLabelCount(4, true);
  leftAxis.setDrawGridLines(true);
  leftAxis.setDrawGridLinesBehindData(true);
  leftAxis.setPosition(YAxisLabelPosition.OUTSIDE_CHART);
  leftAxis.setAxisMinimum(0);
  leftAxis.setValueFormatter(new YValueFormatter());
  leftAxis.setEnabled(true);
  leftAxis.enableGridDashedLine(2, 2, 0);
}

const rightAxis = model.getAxisRight();
if (rightAxis) {
  rightAxis.setEnabled(false);
}
  • 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.

步骤3:绑定图表数据

绑定图表数据

  • 柱状图数据绑定
const data = getNormalData();
model.setData(data);
  • 1.
  • 2.
  • 曲线图数据绑定
const lineData = getLineData();
model.setData(lineData);
  • 1.
  • 2.

按照以上步骤,可以在鸿蒙OS中成功使用MpChart创建出柱状图和曲线图。


分享
微博
QQ
微信
回复
2024-12-03 13:22:58


相关问题
自定义组件之绘制折线图和曲线图
2306浏览 • 1回复 待解决
HarmonyOS 柱状图实现
883浏览 • 1回复 待解决
HarmonyOS 关于柱状图,环形的绘制
833浏览 • 1回复 待解决