入门 OpenHarmony 图表开发,建议按“了解生态 → 选图表方案 → 写第一个 Demo → 逐步深入”的路径来。下面给你一套比较实用的入门路线。
OpenHarmony 本身没有内置非常完善的图表库,图表一般通过以下方式实现:
Canvas 或 绘制组件常见选择:
新手最推荐:Web + ECharts,上手最快
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<script src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>
</head>
<body>
<div id="main" style="width:100%;height:300px;"></div>
<script>
var chart = echarts.init(document.getElementById('main'));
chart.setOption({
xAxis: { type: 'category', data: ['Mon','Tue','Wed','Thu','Fri'] },
yAxis: { type: 'value' },
series: [{ type: 'line', data: [120, 200, 150, 80, 70] }]
});
</script>
</body>
</html>
import web_webview from '@ohos.web.webview';
@Entry
@Component
struct ChartPage {
controller: web_webview.WebviewController = new web_webview.WebviewController();
build() {
Column() {
Web({ src: $rawfile('chart.html'), controller: this.controller })
.width('100%')
.height('100%')
}
}
}
✅ 运行即可看到折线图
Canvas(this.context)
.width('100%')
.height(300)
.onReady(() => {
const ctx = this.context
ctx.fillStyle = '#409EFF'
ctx.fillRect(50, 100, 40, 200)
ctx.fillRect(110, 150, 40, 150)
ctx.fillRect(170, 80, 40, 220)
})
适合学习绘图原理,但不适合复杂图表。
如果你愿意,我可以:
你现在是 零基础 还是已经会 ArKUI?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。