Echarts三维坐标系

Echarts三维坐标系

一、坐标系

1.1 globe-地图组件

  • 提供地球坐标系
  • 可展示三维图:散点图、气泡图、柱状图、飞线图

部分属性

属性含义默认值
globeRadius地球半径100
globeOuterRadius地球外半径,内外半径构成的空间用于绘图150

1.2 geo3D-三维地理坐标系组件

  • 提供三维地理坐标系
  • 可展示三维图:散点图、气泡图、柱状图、飞线图

二、三维地图-map3D

  • 地理区域数据可视化

三、各类gl表格

3.1 bar3D & scatter3D

支持坐标系:cartesian3D,geo3D和globe

数据格式:

  • 数组

在 grid3D 中,每一项的前三个值分别是x, y, z。

在 geo3D 以及 globe 中,每一项的前两个值分别是经纬度 lng, lat。

var data = [
    [
        [12, 14, 10], [34, 50, 15], [56, 30, 20],
        [10, 15, 12], [23, 10, 14]
    ]
]
  • JSON对象数组

在 grid3D 中,value分别是x, y, z。

在 geo3D 以及 globe 中,value前两个值分别是经纬度 lng, lat。

var data = [
    {
        // 数据项的名称
        name: '数据1',
        // 数据项值
        value: [12, 14, 10]
    }, 
    {
        name: '数据2',
        value: [34, 50, 15]
    }
]

3.2 lines3D

支持坐标系:geo3D和globe

数据格式:

//数组
var data = [
    [
        [120, 66, 1], // 起点的经纬度和海拔坐标
        [122, 67, 2]  // 终点的经纬度和海拔坐标
    ]
]

//JSON对象数组
var data = [
    {
        coords: [ [120, 66], [122, 67] ],
        // 数据值
        value: 10,
        // 数据名
        name: 'foo',
        // 线条样式
        lineStyle: {}
    }
]

3.3 map3D-三维区域地图

特点:设置区域高度

直接展示地图:与二维地图相比,二维地图通过颜色区分各个区域,而三维地图则可通过颜色和高度进行区分。

数据格式:

var data = [
    {
        // 区域名-对应地图区域的名称
        name: '北京市',
        // 区域值-区域名对应的数据值
        value: 10,
        //区域高度-地图上各区域的高度(当地图为建筑物数据时,则可体现各建筑的高度)
        regionHeight:20
    }
]

四、坐标系预研

Echarts中坐标系具备两大功能:

  • 图表的坐标系
  • 坐标系组件(拥有配置坐标系的参数)

4.1 注册坐标系

/*
 * 注册坐标系 
 * @param {string} coordSysName - 坐标系名称
 * @param {any} registerCoordSys - 坐标系 
 */
echarts.registerCoordinateSystem(coordSysName,registerCoordSys)

4.2 坐标系组件

4.2.1 视图
/*
 * 扩展组件视图 
 * @param {object} opt - 视图相关参数
 */
echarts.extendComponentView(opt)
4.2.2 模型
/*
 * 扩展组件模型 
 * @param {object} opt - 模型相关参数
 */
echarts.extendComponentModel(opt)
4.2.3 操作
/*
 * 注册组件操作
 * @param {object} opt - 操作参数{type,event,update}
 * @param {Function} handler - 处理方法
 */
echarts.registerAction(opt,handler)

/*
 * 组件遍历
 * @param {object} opt - 操作参数{mainType,query}
 * @param {Function} handler - 处理方法
 */
ecModel.eachComponent(opt,handler)

/*
 * 例子
 */
 echarts.registerAction({
    type: 'globeChangeCamera',
    event: 'globecamerachanged',
    update: 'series:updateCamera'
}, function (payload, ecModel) {
    ecModel.eachComponent({
        mainType: 'globe', query: payload
    }, function (componentModel) {
        componentModel.setView(payload);
    });
});
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据提供的引用内容,没有直接回答echarts画三角形坐标轴的方法。不过,可以提供一些相关的信息和思路供参考。 Echarts是一个基于JavaScript的开源可视化库,它提供了很多种图表类型,包括折线图、柱状图、散点图、饼图等等。其中,三维坐标系图表类型可以用来画三角形坐标轴。 三维坐标系图表类型需要提供x、y、z三个坐标轴的数据,可以通过以下步骤来实现: 1. 引入Echarts库和相关的主题和插件。 2. 创建一个DOM容器,用于显示图表。 3. 定义x、y、z三个坐标轴的数据,可以使用数组来表示。 4. 定义数据系列,包括数据和样式等信息。 5. 定义图表的配置项,包括标题、坐标轴、数据系列等信息。 6. 使用Echarts的API将图表渲染到DOM容器中。 下面是一个简单的示例代码,可以用来画一个三角形坐标轴: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Echarts 三维坐标系示例</title> <!-- 引入 Echarts 库 --> <script src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> <!-- 引入 Echarts 主题 --> <script src="https://cdn.jsdelivr.net/npm/echarts/dist/theme/macarons.js"></script> </head> <body> <!-- 创建一个 DOM 容器 --> <div id="chart" style="width: 600px; height: 400px;"></div> <script> // 基于准备好的 DOM,初始化 Echarts 实例 var myChart = echarts.init(document.getElementById('chart'), 'macarons'); // 定义 x、y、z 三个坐标轴的数据 var data = [ [1, 0, 0], [0, 1, 0], [0, 0, 1] ]; // 定义数据系列 var series = [{ type: 'scatter3D', data: data, symbolSize: 10, itemStyle: { color: '#ff0000' } }]; // 定义图表的配置项 var option = { title: { text: '三维坐标系示例' }, grid3D: { viewControl: { // 设置三维坐标轴的初始角度 alpha: 30, beta: 30 } }, xAxis3D: { type: 'value' }, yAxis3D: { type: 'value' }, zAxis3D: { type: 'value' }, series: series }; // 使用 Echarts 的 API 将图表渲染到 DOM 容器中 myChart.setOption(option); </script> </body> </html> ``` 需要注意的是,上述示例代码只是一个简单的示例,实际应用中可能需要根据具体需求进行修改和调整。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值