uniapp如何绘制环形图表
在uniapp中如何实现环形图表的绘制?目前需要在一个项目中展示数据占比,想用环形图来直观显示。尝试过使用ucharts,但不太清楚具体怎么配置成环形效果。请问有没有完整的示例代码或者推荐其他适合uniapp的图表库?最好能支持自定义颜色和动画效果。
2 回复
使用uni-app绘制环形图表,推荐使用ucharts或echarts插件。ucharts轻量且兼容性好,echarts功能强大但体积较大。安装后配置数据即可生成环形图,支持自定义颜色和动画效果。
在 UniApp 中绘制环形图表,推荐使用第三方图表库 uCharts,它轻量且兼容性好。以下是实现步骤和示例代码:
步骤 1:安装 uCharts
- 从官方 GitHub(https://github.com/16cheng/ucharts)下载组件,或通过 npm 安装:
npm install [@qiun](/user/qiun)/ucharts
步骤 2:引入组件
在页面 JSON 文件中配置:
{
"usingComponents": {
"qiun-data-charts": "[@qiun](/user/qiun)/ucharts/components/qiun-data-charts/qiun-data-charts"
}
}
步骤 3:编写模板和逻辑
-
模板部分(WXML):
<view class="chart-container"> <qiun-data-charts type="ring" :chartData="chartData" /> </view> -
逻辑部分(Vue Script):
export default { data() { return { chartData: { series: [{ data: [ { name: "类别A", value: 50 }, { name: "类别B", value: 30 }, { name: "类别C", value: 20 } ] }] } }; }, onReady() { // 可在此动态更新数据 } };
步骤 4:样式调整(可选)
在 CSS 中设置容器尺寸:
.chart-container {
width: 100%;
height: 300px;
}
注意事项:
- 确保
ucharts文件路径正确,若使用 npm 需在微信开发者工具中构建。 - 支持动态更新数据,调用
this.chartData.series[0].data = newData即可刷新。 - 更多配置(如颜色、图例)参考 uCharts 文档。
替代方案:
如需更简单实现,可用 CSS + Canvas 手动绘制,但 uCharts 节省开发时间,功能丰富。

