欢迎访问宙启技术站
智能推送

vue使用Highcharts实现3D饼图

发布时间:2023-05-16 20:58:09

1. 首先需要引入Highcharts的JavaScript代码库及3D饼图模块。

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

2. 编写HTML代码。

<div id="container"></div>

3. 编写JavaScript代码。首先创建一个Highcharts配置对象,然后通过该对象的series属性定义图表的数据、类型、样式等。

var options = {
    chart: {
        renderTo: 'container',
        type: 'pie',
        options3d: {
            enabled: true,
            alpha: 45,
            beta: 0
        }
    },
    title: {
        text: '3D Pie Chart'
    },
    plotOptions: {
        pie: {
            innerSize: 100,
            depth: 45,
            dataLabels: {
                enabled: true,
                format: '{point.name}'
            }
        }
    },
    series: [{
        name: 'Percentage',
        data: [
            ['Firefox', 45.0],
            ['IE', 26.8],
            ['Safari', 8.5],
            ['Opera', 6.2],
            ['Others', 0.7]
        ]
    }]
};

var chart = new Highcharts.Chart(options);

其中,chart属性用于定义容器及图表类型;title属性用于定义标题;plotOptions属性用于定义绘图选项;series属性用于定义数据系列和样式。

chart中,options3d属性用于启用3D效果,并通过alphabeta属性调整视角。

plotOptions中,pie属性用于指定绘制的饼图类型,innerSize属性用于设置内径大小,depth属性用于设置3D效果的深度,dataLabels属性用于指定是否显示数据标签及其格式。

series中,name属性用于指定数据系列名称,data属性用于指定数据点,每个数据点由名称和数值组成,例如['Firefox', 45.0]

最后通过new Highcharts.Chart(options)创建一个图表对象。

4. 在浏览器中打开HTML文件,即可看到一个3D饼图。

完整代码如下:

<!DOCTYPE html>
<html>
<head>
    <title>3D Pie Chart</title>
    <script src="https://code.highcharts.com/highcharts.js"></script>
    <script src="https://code.highcharts.com/highcharts-3d.js"></script>
</head>
<body>
    <div id="container"></div>
    <script type="text/javascript">
        var options = {
            chart: {
                renderTo: 'container',
                type: 'pie',
                options3d: {
                    enabled: true,
                    alpha: 45,
                    beta: 0
                }
            },
            title: {
                text: '3D Pie Chart'
            },
            plotOptions: {
                pie: {
                    innerSize: 100,
                    depth: 45,
                    dataLabels: {
                        enabled: true,
                        format: '{point.name}'
                    }
                }
            },
            series: [{
                name: 'Percentage',
                data: [
                    ['Firefox', 45.0],
                    ['IE', 26.8],
                    ['Safari', 8.5],
                    ['Opera', 6.2],
                    ['Others', 0.7]
                ]
            }]
        };
        var chart = new Highcharts.Chart(options);
    </script>
</body>
</html>