Highcharts 3D 功能模块提供了少量的 3D 图形支持,目前支持 3D 柱状图、3D 饼图及 3D 散点图。
使用 Highcharts 3D 图形需要额外的加载 3D 功能模块文件
<script src=“http://cdn.hcharts.cn/highcharts/highcharts-3d.js“></script>
一、3D 配置
3D 配置是在 chart.options3d 下面,另外也可以配置在 plotOptions 下的图表类型里,是针对某种图表类型生效。下面是所有的 3D 配置及说明
chart: {….options3d: {enabled: false, // 使用开始 3D 功能,alpha: 0, // 内旋转角度beta: 0, // 外旋转角度depth: 100, // 图表的全深比,即为3D图X,Y轴的平面点固定,以图的Z轴原点为起始点上// 下旋转,值越大往外旋转幅度越大,值越小往内旋转越大viewDistance: 100, // 视图距离,它对于计算角度影响在柱图和散列图非常重要。此值不能用于3D的饼图frame: { // Frame框架,3D图包含柱的面板,我们以X ,Y,Z的坐标系来理解,X轴与 Z轴所形成// 的面为bottom,Y轴与Z轴所形成的面为side,X轴与Y轴所形成的面为back,bottom、// side、back的属性一样,其中size为感官理解的厚度,color为面板颜色bottom: {size: 1,color: ‘transparent’},side: {size: 1,color: ‘transparent’},back: {size: 1,color: ‘transparent’}}},…}…plotOptions: { // 针对特定图表类型生效的 3D 配置…column: {…depth: 25,groupZPadding: 1, // z 轴间距,用于 3D 图形中的多个数据列间距…},…pie: {depth: 0},…}
二、3D 柱状图
3D 柱状图对应是每个数据点绘制成长方体来实现 3D 效果,默认的全深比是 25,下面是一个实例:
更多实例:
- 包含空值的3D柱状图
- 堆叠3D柱状图
多数据列 3D 柱状图
和普通的柱状图一样,3D 柱状图也是支持多数据列分组及堆叠的。
默认情况下,Highcharts 是启用分组功能,也就是多个数据列的情况下,多个柱子是沿着 X 轴方向依次排列的。3D 柱状图在默认情况下也是这样的。通过设置 grouping = false 可以让多个数据列在 Z 轴方向排列。默认情况下 Z 轴排列是没有间距的,可以通过 groupZPadding 属性来指定。
plotOptions.column.groupZPadding: // 多个数据列 z 轴排列间距
下面你是一个具体的实例
三、3D 饼图
在 3D 饼图中,chart.depth 对饼图是不起作用的,只有设置在 plotOptions.pie.depth 里的才有效,另外 frame 也有没有意义的(frame 与坐标轴相关联的,在饼图中并没有坐标轴这个概念)。
lotOptions.pie.depth: // 定义 3D 饼图的厚度
另外通过设置 innerSize 可以让 3D 饼图变成 3D 环形图
四、3D 散点图
不同于普通的 散点图 只有 x 值和 y 轴, 3D 散点图还包含 z 轴。定义 3D 散点图可以用包含x,y,z 属性的对象的形式,也可以用包含三个数值的数组来表示
对象 {x: 1, y: 1, z: 1} 和数组 [1,1,1] 在 3D 散点图中是对等的
