echarts 3D地球实现自动旋转

素材下载 码云GitHub

1、引入js文件及准备素材。js文件及素材下载参照官网        https://echarts.baidu.com/download.html

        <script src="../js/lib/echarts.min.js"></script>
        <script src="../js/lib/echarts-gl.min.js"></script>
        <script src="../js/lib/world.js"></script>

所需素材:world.jpg、starfield.jpg、pisa.hdr

2、配置option

option = {
              backgroundColor: "#000",
              globe:{
                baseTexture: "../img/world.jpg",
                heightTexture: "../img/world.jpg",
                 displacementScale: 0.04,
                environment: "../img/starfield.jpg",
                shading:"realistic",
                realisticMaterial: {
                    roughness: 0.9
                },
                postEffect: {
                    enable: true
                },
                light: {
                    main: {
                        intensity: 5,
                        shadow: true
                    },
                    ambientCubemap: {
                        texture: "../img/pisa.hdr",
                        diffuseIntensity: 0.2
                    }
                }
              }
        };

3、全部代码如下:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<div id="earth" style="width: 100%; height: 600px"></div>
		<script src="../js/lib/echarts.min.js"></script>
		<script src="../js/lib/echarts-gl.min.js"></script>
		<script src="../js/lib/world.js"></script>
		<script>
		var dom = document.getElementById("earth")
		var myChart = echarts.init(dom);
		option = {
			  backgroundColor: "#000",
			  globe:{
			    baseTexture: "../img/world.jpg",
			    heightTexture: "../img/world.jpg",
			     displacementScale: 0.04,
			    environment: "../img/starfield.jpg",
			    shading:"realistic",
			    realisticMaterial: {
		            roughness: 0.9
		        },
			    postEffect: {
		            enable: true
		        },
		        light: {
		            main: {
		                intensity: 5,
		                shadow: true
		            },
		            ambientCubemap: {
		                texture: "../img/pisa.hdr",
		                diffuseIntensity: 0.2
		            }
		        }
			  }
		 
		};
		if (option && typeof option === "object") {
		  myChart.setOption(option, true);
		}
		</script>
	</body>
</html>

效果如图:

素材下载 码云GitHub

ECharts是一个强大的JavaScript数据可视化库,它支持创建3D图表,包括饼图。要实现3D饼图的自动轮播效果,你需要结合其API和定时器或者动画功能。以下是一个基本步骤: 1. **引入ECharts库**:首先,需要在HTML文件中引入ECharts的CDN链接。 ```html <script src="https://cdn.jsdelivr.net/npm/echarts@5.4.0/dist/echarts.min.js"></script> ``` 2. **初始化图表**:创建一个div容器并给每个饼图实例分配一个唯一的id,比如`myChart1`, `myChart2`等。 ```html <div id="myChart1"></div> <div id="myChart2"></div> ``` 3. **配置3D饼图**:在JavaScript中,对每个饼图设置不同的视图角度、旋转速度等属性,然后创建一个数据序列。 ```javascript var option = { tooltip: {}, series: [{ type: 'pie', radius: '75%', data: [...], animationDurationUpdate: 2000, // 设置切换时间间隔 rotation: [Math.PI / 2, 0], // 初始视图角度 viewControl: { autoRotate: true, // 自动旋转 rotateStep: 1, // 每次旋转的角度 duration: 800 // 动画持续时间 } }] }; ``` 4. **创建轮播效果**:通过一个计数器或者循环函数,每隔一段时间改变当前展示的饼图,更新对应的`echartsInstance.setOption(option)`。 ```javascript let index = 0; setInterval(() => { if (index < 2) { // 如果只有两个图表,索引不超过1 const chartId = `myChart${index + 1}`; var chartInstance = echarts.init(document.getElementById(chartId)); chartInstance.setOption(option); index++; } else { index = 0; // 循环开始 } }, 2000); // 每隔2秒切换一次 ```
评论 38
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值