您的位置:

echarts3d全面解析

一、echarts3d配置

echarts3d是基于echarts而成的,使用跟echarts基本一样,通过配置来实现动态交互效果。

首先,在html中引入echarts3d库,在javascript中定义一个echarts实例,以及具体的option配置项。在option中,需要定义背景颜色、光源颜色等基本参数,同时还需要定义渲染图表的类型、数据以及视角等。

以下是基本的代码示例:


// 引入echarts3d库
<script src="echarts.min.js"></script>
<script src="echarts-gl.min.js"></script>

// 定义echarts实例,并设置option
var myChart = echarts.init(document.getElementById('chart'));
var option = {
    backgroundColor: '#000',
    globe: {
        baseTexture: 'data-gl/asset/world.topo.bathy.200401.jpg',
        heightTexture: 'data-gl/asset/world.topo.bathy.200401.jpg',
        displacementScale: 0.05,
        shading: 'realistic',
        environment: 'data-gl/asset/starfield.jpg',
        light: {
            ambient: {
                intensity: 0.1
            },
            main: {
                intensity: 1.5
            }
        }
    },
    series: [{
        type: 'lines3D',
        coordinateSystem: 'globe',
        data: []
    }]
};

// 渲染图表
myChart.setOption(option);

二、echarts3d散点图如何使用

echarts3d的散点图跟echarts基本一样,只不过需要在option中设置x,y,z三个维度的值。同时还可以设置symbolSize、itemStyle等参数。其中x,y,z的value值可以是数值型或者是数组型。当value是数组型时,相对应的三个维度会自动匹配数组。

以下是一个简单的代码示例:


// option中设置series的type为scatter3D即可
option = {
    ...,
    series: [{
        type: 'scatter3D',
        symbolSize: 10,
        itemStyle: {
            color: '#00FA9A'
        },
        data: [
            [1, 2, 3],
            [4, 5, 6],
            ...
        ]
    }]
};

三、echarts3d地图

相比较echarts,echarts3d的地图可以实现立体效果。与之前的散点图不同,echarts3d的地图需要引入地理坐标系,同时定义地图类型和所用地图的json文件名。同时,echarts3d的地图还可以设置其他一些参数,如地图颜色、标注等。

以下是一个简单的代码示例:


// 引入地图json文件名和地图类型
echarts.registerMap('map', require('./map.json'));
option = {
    ...,
    geo: {
        map: 'map',
        roam: true,
        label: {
            normal: {
                show: true,
                textStyle: {
                    color: '#fff'
                }
            },
            emphasis: {
                show: true,
                textStyle: {
                    color: '#fff'
                }
            }
        },
        itemStyle: {
            normal: {
                borderColor: '#404a59',
                areaColor: '#323c48'
            },
            emphasis: {
                areaColor: '#2a333d'
            }
        }
    },
    series: [{
        type: 'bar3D',
        ...
    }]
};

四、echarts3d柱状图

echarts3d的柱状图与echarts大相径庭,需要设置x,y,z三个维度的值,并在series中将type设置为bar3D。同时,还可以设置barSize、bevelSize等参数,使得柱状图更加立体化。

以下是一个简单的代码示例:


// option中设置series的type为bar3D即可
option = {
    ...,
    series: [{
        type: 'bar3D',
        barSize: 6,
        bevelSize: 2,
        ...
        data: [
            [1, 2, 3],
            [4, 5, 6],
            ...
        ]
    }]
};

五、echarts3d地图闪烁

为了实现地图闪烁的效果,可以使用setInterval定时器来不断更新数据,同时更改地图的颜色、标记等。这个方法同样适用于其他类型的echarts3d图表。

以下是一个简单的代码示例:


setInterval(function () {
    // 重新配置数据
    option = {
        ...,
        series: [{
            type: 'bar3D',
            ...
            data: [
                [1, 2, Math.random() * 100],
                [3, 4, Math.random() * 100],
                ...
            ]
        }]
    };
    myChart.setOption(option);
    // 更改地图颜色和标注
    myChart.dispatchAction({
        type: 'geoRoam',
        zoom: 5,
        center: [116.46, 39.92]
    });
    myChart.dispatchAction({
        type: 'geoChange',
        geoIndex: 0,
        changeColor: 'red'
    });
}, 2000);

六、echarts3d地图放svg图标

可以在echarts3d地图上放置svg图标,只需要在option中设置icon的imageUrl和size参数即可。同时,还可以设置icon的position参数,使得svg图标相对于地图位置居中。

以下是一个简单的代码示例:


option = {
    ...,
    series: [{
        type: 'scatter3D',
        symbolSize: 80,
        itemStyle: {
            color: '#FD3838',
            opacity: 0.8
        },
        // 设置图标的imageUrl和size
        label: {
            show: true,
            formatter: '{b}\n{a}',
            fontSize: 16,
            backgroundColor: 'white',
            borderRadius: 5,
            borderWidth: 1,
            borderColor: 'black',
            padding: [5, 10],
        },
        data: [{
            name: 'svg',
            value: [116.46, 39.92],
            symbolSize: 100,
            // 设置icon的imageUrl和size
            icon: {
                imageUrl: 'symbol.svg',
                size: [80, 80]
            },
            // 设置icon的position
            label: {
                position: 'inside'
            }
        }]
    }]
};

七、echarts3d饼图如何制作

echarts3d的饼图与echarts基本一样,只不过需要设置地理坐标系。同时,还可以设置饼图的radius、center等参数。不过要注意的是,在echarts3d中饼图是三维的,而且需要设置深度(z)参数。

以下是一个简单的代码示例:


option = {
    ...,
    geo3D: {
        map: 'world',
        roam: true,
        shading: 'realistic',
        viewControl: {
            autoRotate: true,
            autoRotateSpeed: 10
        },
        itemStyle: {
            color: '#323c48',
            opacity: 0.5
        },
        label: {
            show: true,
            textStyle: {
                color: '#fff',
                fontSize: 16,
            }
        },
        z: 50     // 设置饼图的深度
    },
    series: [{
        type: 'pie3D',
        radius: '30%',
        center: ['50%', '50%'],
        data: [
            { value: 335, name: '直接访问' },
            { value: 310, name: '邮件营销' },
            { value: 234, name: '联盟广告' },
            { value: 135, name: '视频广告' },
            { value: 1548, name: '搜索引擎' }
        ]
    }]
};

八、echarts3d柱状图可以用吗

echarts3d的柱状图可以使用,只需要在option中设置type为bar3D,并分别定义x、y、z轴的数据即可。同时,可以设置barSize、bevelSize等参数来为柱状图增加立体感效果。

九、echarts3d柱状图x轴宽度设置

echarts3d中,可以通过设置柱状图的depth参数来控制x轴的宽度。depth参数默认为10,可以根据需要进行调整。

十、echarts地图3d效果选取

echarts3d的地图效果非常强大,可以实现地图3d效果展示。常用的3d观察方式有两种:深度(z轴)和俯仰角。通常情况下,深度效果比较明显,俯仰角效果则会让视角更加自然。

结语

通过本文的介绍,我们已经大致了解了echarts3d的使用方法以及常见图表的制作。当然,echarts3d还有很多强大的功能和参数设置方式,需要我们继续深入学习和探索。希望这篇文章可以为大家在echarts3d的使用过程中提供一些帮助。