其他分享
首页 > 其他分享> > 用Highcharts动画制作彩票轮

用Highcharts动画制作彩票轮

作者:互联网

Highcharts是一款纯JavaScript编写的图表库,为你的Web网站、Web应用程序提供直观、交互式图表。当前支持折线、曲线、区域、区域曲线图、柱形图、条形图、饼图、散点图、角度测量图、区域排列图、区域曲线排列图、柱形排列图、极坐标图等几十种图表类型。

在本教程中,我们将向您展示如何使用Highcharts构建彩票轮。由于高度可定制的库功能,这是可能的,您几乎可以创建任何基于SVG的交互式可视化,例如交互式拼图或蛇游戏。
下图显示了一个彩票轮和四个设置选项:
用Highcharts动画制作彩票轮

让我们检查代码,并了解如何创建这样的演示。

该代码有5个主要部分:

对于旋转动画,有两个主要部分:

轮子停止运动后,findWinner如果箭头位置在切片起始角度和阈值之内,则以下方法将遍历数据集或切片并进行处理winThreshold。如果存在匹配项,则findWinner返回切片的索引以获取标签并显示获胜者。

const findWinner = (data) => {
  const sliceSize = 360 / data.length;
  const winThreshold = 360 - sliceSize;
  let sliceBeginning;
  for (let i in data) {
    sliceBeginning = radToDeg(data[i].shapeArgs.start) + 90;
    if (sliceBeginning > 360) {
      ...
    }
  }
  return -1;
}

到目前为止,该演示包含所有彩票轮组件(请参见下面的演示):

用Highcharts动画制作彩票轮

但是,我们还没有完成。让我们玩得开心,添加一些虚构的物理运动

标签:动画,chart,图表,彩票,startAngle,Highcharts,360
来源: https://blog.51cto.com/15078157/2655957