Highcharts 3D图


Highcharts是一个基于JavaScript的简单易用、功能强大的数据可视化库,提供了许多数据可视化类型。其3D图功能可以提供真实感观的立体效果。

前置条件

在使用Highcharts 3D图功能之前,需要先引入highcharts.js和highcharts-3d.js这两个文件,代码如下:

<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/highcharts-3d.js"></script>

同时,需要注意Highcharts 3D图功能只适用于三维立体图表,如3D柱状图、3D饼图、3D散点图等。

创建3D图

创建3D图的方式和创建平面图没有太大差异,只需要在创建图表的配置项中加上chart属性,代码如下:

$(function () {
    $('#container').highcharts({
        chart: {
            type: 'column',
            options3d: {
                enabled: true,
                alpha: 15,
                beta: 15,
                depth: 50,
                viewDistance: 25
            }
        },
        title: {
            text: 'Monthly Average Rainfall'
        },
        subtitle: {
            text: 'Source: WorldClimate.com'
        },
        xAxis: {
            categories: [
                'Jan',
                'Feb',
                'Mar',
                'Apr',
                'May',
                'Jun',
                'Jul',
                'Aug',
                'Sep',
                'Oct',
                'Nov',
                'Dec'
            ],
            crosshair: true
        },
        yAxis: {
            min: 0,
            title: {
                text: 'Rainfall (mm)'
            }
        },
        plotOptions: {
            column: {
                depth: 25
            }
        },
        series: [{
            name: 'Rainfall',
            data: [
                49.9,
                71.5,
                106.4,
                129.2,
                144.0,
                176.0,
                135.6,
                148.5,
                216.4,
                194.1,
                95.6,
                54.4
            ],
            colorByPoint: true
        }]
    });
});

上述代码中,创建了一幅柱状图,启用了3D效果。具体来看,options3d属性包含了4个参数:enabled, alpha, beta, depth 和 viewDistance。这些属性分别控制了开启3D效果、图形的倾斜角度、深度和视距等。

调整3D图

在创建3D图后,我们可以通过调整参数来达到不同的效果,在options3d属性中可调整的其他参数还有fitToPlot、frame、frame和axes等。

fitToPlot控制了是否将3D图自适应到图表图区,能更好地呈现图表内容。frame控制了3D图边框的样式,axes控制轴线的颜色和样式。

除了上述属性,我们还可以通过事件以及API来实现3D图的自定义效果,例如旋转和缩放等操作。

结语

通过使用Highcharts的3D图,我们可以将平面的图表呈现出更生动的立体效果,使得数据的呈现更加直观,更加生动。同时,Highcharts API提供了更加丰富的操作方法,可以实现更加自定义的视觉效果。