在 OpenHarmony(含 HarmonyOS NEXT / ArkUI)中,“图表嵌入”通常指在 ArkTS 页面中集成并使用图表组件。下面按常见做法 + 示例来说明。
在 OpenHarmony 中嵌入图表,主要有三种方式:
@ohos/mpchart、echarts-for-openharmony、三方封装组件ohpm install @ohos/mpchart
import { LineChart, LineData, LineDataSet } from '@ohos/mpchart';
@Entry
@Component
struct ChartPage {
build() {
Column() {
LineChart({
data: this.getLineData()
})
.width('100%')
.height(300)
}
}
getLineData() {
let values = [1, 3, 2, 5, 4]
let dataSet = new LineDataSet(values, '示例')
return new LineData([dataSet])
}
}
✅ 优点:
适合需要高度自定义的场景。
@Component
struct CanvasChart {
private canvas: CanvasRenderingContext2D | null = null
build() {
Canvas(this.canvas)
.width('100%')
.height(300)
.onReady(() => {
this.draw()
})
}
draw() {
if (!this.canvas) return
this.canvas.clearRect(0, 0, 300, 300)
this.canvas.beginPath()
this.canvas.moveTo(0, 300)
this.canvas.lineTo(100, 200)
this.canvas.lineTo(200, 100)
this.canvas.stroke()
}
}
✅ 优点:
import { webview } from '@kit.ArkWeb'
@Entry
@Component
struct WebChart {
controller: webview.WebviewController = new webview.WebviewController()
build() {
Column() {
Web({ src: $rawfile('chart.html') })
.controller(this.controller)
}
}
}
chart.html 中使用 ECharts 正常渲染即可。
✅ 适合:
| 场景 | 推荐方式 |
|---|---|
| 普通业务图表 | 图表组件(MPChart) |
| 定制化极强 | Canvas |
| 已有 Web 方案 | WebView |
如果你能告诉我:
我可以直接给你可运行的完整示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。