不使用echarts绘制一个简单的饼图

本文介绍了如何不依赖echarts,而是利用SVG绘制一个简单的饼图。通过SVG的特性,可以实现性能良好的饼图展示,特别是在表格数据量大的场景下。文章详细讲解了SVG的基本概念,如何绘制一个圆,以及如何利用stroke-dasharray属性创建饼图效果。
摘要由CSDN通过智能技术生成

不使用echarts绘制一个简单的饼图

最近有一个需求要求在表格中显示阅读状态,为了效果直观,ui设计了使用饼图来进行展示。效果如下:
在这里插入图片描述
第一想法是使用echarts,但是一想到表格数据量很大,如果每行都用canvas来渲染那性能肯定是很差的;
第二个想到的是用css,通过伪类来实现,然后经过一番尝试之后发现无法动态来修改伪类transform属性的值;
最后在codepen上找到一种完美实现方案,没错那就是svg,进入传送门

什么是SVG

  • SVG 指可伸缩矢量图形 (Scalable Vector Graphics)
  • SVG 用来定义用于网络的基于矢量的图形
  • SVG 使用 XML 格式定义图形
  • SVG 图像在放大或改变尺寸的情况下其图形质量不会有所损失
  • SVG 是万维网联盟的标准
  • SVG 与诸如 DOM 和 XSL 之类的 W3C 标准是一个整体

绘制一个圆

<svg>
  <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red"/>
</svg>

cx 和 cy 属性定义圆点的 x 和 y 坐标。如果省略 cx 和 cy,圆的中心会被设置为 (0, 0)

r 属性定义圆的半径。

stroke-dasharray属性

stroke-dasharray是用来创建虚线的属性
在这里插入图片描述

<svg>
  <g fill="none" stroke=<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值