uniapp 使用canvas制作柱状图

效果图:

在这里插入图片描述

实现思路:
1、通过展示数据计算需要画几根柱子;
2、通过组件宽度、高度计算出每根柱子的宽度及高度;
3、for循环依次绘制每根柱子;
4、绘制柱子时,先绘制顶部百分比、value值,再绘制柱子,再绘制底部标题;
5、文字需要居中,可绘制前丈量文字宽度再确定起始坐标。

<template>
	<view class="container">
		<canvas canvas-id="columnarCanvas" id="columnarCanvas" style="width:750rpx; height:500rpx; margin-top:20px;" ></canvas>
		<canvas canvas-id="testCanvas" style="width:750rpx; height:400rpx; background-color: #f8f8f8;"></canvas>
	</view>
</template>

<script>
	export default {
   
		data() {
   
			return {
   
				canvasInfo: {
    },
				dataList: [{
   
					title: "玛莎拉蒂",
					value: 2
				}, {
   
					title: "奥迪",
					value: 8
				}, {
   
					title: "奔驰",
					value: 9
				}, {
   					
					title: "奔奔",
					value: 6
				}, {
   
					title: "保时捷",
					value: 4
				}, {
   
					title: "宝马",
					value: 7
				}, {
   
					title: 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值