blob: f253b30989b31acc363f0a0afc4572f8d0ad3626 [file] [log] [blame]
{"$schema":"http://echarts.baidu.com/doc/json-schem","option":{"type":"Object","properties":{"globe":{"type":["Object"],"description":"<p>地球组件。组件提供了地球的绘制以及相应的坐标系,开发者可以在上面展示三维的散点图,气泡图,柱状图,飞线图。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示地球组件。</p>\n","default":true},"globeRadius":{"type":["number"],"description":"<p>地球的半径。单位相对于三维空间,跟 <a href=\"#globe.viewControl.distance\">viewControl.distance</a> 相关。</p>\n","default":100},"globeOuterRadius":{"type":["number"],"description":"<p>地球的外半径。<code>globeRadius</code> 到 <code>globeOuterRadius</code> 之间这篇区域会被用于展示三维柱状图,散点图等。</p>\n","default":150},"environment":{"type":["string"],"description":"<p>环境贴图,支持純颜色值,渐变色,全景贴图的 url。默认为 <code>&#39;auto&#39;</code>,在配置有 <a href=\"#globe.light.ambientCubemap.texture\">light.ambientCubemap.texture</a> 的时候会使用该纹理作为环境贴图。否则则不显示环境贴图。</p>\n<p>示例:</p>\n<pre><code class=\"lang-js\">// 配置为全景贴图\nenvironment: &#39;asset/starfield.jpg&#39;\n// 配置为纯黑色的背景\nenvironment: &#39;#000&#39;\n// 配置为垂直渐变的背景\nenvironment: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{\n offset: 0, color: &#39;#00aaff&#39; // 天空颜色\n}, {\n offset: 0.7, color: &#39;#998866&#39; // 地面颜色\n}, {\n offset: 1, color: &#39;#998866&#39; // 地面颜色\n}], false)\n</code></pre>\n","default":"'auto'"},"baseTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement","EChartsInstance"],"description":"<p>地球的纹理。支持图片路径字符串,图片或者 Canvas 的对象。</p>\n<p>也支持直接使用 echarts 的实例作为纹理,此时在地球上的鼠标动作会跟纹理上使用的 echarts 实例有联动。</p>\n<p>示例:</p>\n<pre><code class=\"lang-js\">// 使用地球的纹理图片\nbaseTexture: &#39;asset/earth.jpg&#39;\n\n\n// 使用 echarts 绘制世界地图的实例作为纹理\nvar canvas = document.createElement(&#39;canvas&#39;);\nvar mapChart = echarts.init(canvas, null, {\n width: 4096, height: 2048\n});\nmapChart.setOption({\n series : [\n {\n type: &#39;map&#39;,\n map: &#39;world&#39;,\n // 绘制完整尺寸的 echarts 实例\n top: 0, left: 0,\n right: 0, bottom: 0,\n boundingCoords: [[-180, 90], [180, -90]]\n }\n ]\n});\n...\nbaseTexture: mapChart\n</code></pre>\n"},"heightTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>地球的高度纹理。高度纹理可以用于<a href=\"https://zh.wikipedia.org/wiki/%E5%87%B9%E5%87%B8%E8%B4%B4%E5%9B%BE\" target=\"_blank\">凹凸贴图</a>表现地球表面的明暗细节。下面两图分别是使用<code>heightTexture</code>和未使用<code>heightTexuture</code>的效果区别。</p>\n<p><img width=\"400\" height=\"auto\" src=\"documents/asset/gl/img/heightmap-enable.png\"></p>\n<p><img width=\"400\" height=\"auto\" src=\"documents/asset/gl/img/heightmap-disable.png\"></p>\n"},"displacementTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>地球顶点的置换纹理,默认同 <a href=\"#globe.heightTexture\">heightTexture</a>。</p>\n<p>相比于凹凸贴图,顶点的置换是根据纹理直接对顶点做位移。在 <a href=\"#globe.displaymentScale\">displaymentScale</a> 大于 0 时有效。</p>\n"},"displacementScale":{"type":["number"],"description":"<p>地球顶点位移的大小。默认为 0, 也就是没位移,下面两图分别是设置不同的<code>displacementScale</code>的效果</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/displacement-disable.png\" width=\"100%\" title=\"Scale: 0\">\n <img src=\"documents/asset/gl/img/displacement-enable.png\" width=\"100%\" title=\"Scale: 0.1\">\n</div>\n","default":0},"displacementQuality":{"type":["string"],"description":"<p>地球顶点位移的质量。支持设置成 <code>&#39;low&#39;</code>, <code>&#39;medium&#39;</code>, <code>&#39;high&#39;</code>, <code>&#39;ultra&#39;</code> 。更高的质量能够表现更多的地表高度细节。下面截图分别是不同<code>displacementQuality</code>的效果</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/displacement-low.png\" width=\"100%\" title=\"Low\">\n <img src=\"documents/asset/gl/img/displacement-ultra.png\" width=\"100%\" title=\"Ultra\">\n</div>\n\n\n\n","default":"'medium'"},"shading":{"type":["string"],"description":"<p>地球中三维图形的着色效果,echarts-gl 中支持下面三种着色方式</p>\n<ul>\n<li><p><code>&#39;color&#39;</code>\n只显示颜色,不受光照等其它因素的影响。</p>\n</li>\n<li><p><code>&#39;lambert&#39;</code>\n通过经典的 <a href=\"https://en.wikipedia.org/wiki/Lambertian_reflectance\" target=\"_blank\">lambert</a> 着色表现光照带来的明暗。</p>\n</li>\n<li><p><code>&#39;realistic&#39;</code>\n真实感渲染,配合 <a href=\"#globe.light.ambientCubemap\">light.ambientCubemap</a> 和 <a href=\"#globe.postEffect\">postEffect</a> 使用可以让展示的画面效果和质感有质的提升。ECharts GL 中使用了<a href=\"https://www.marmoset.co/posts/physically-based-rendering-and-you-can-too/\" target=\"_blank\">基于物理的渲染(PBR)</a> 来表现真实感材质。</p>\n</li>\n</ul>\n<p>下面是不同着色效果的区别</p>\n<p><img width=\"250\" height=\"auto\" src=\"documents/asset/gl/img/globe-shading-color.png\">\n<img width=\"250\" height=\"auto\" src=\"documents/asset/gl/img/globe-shading-lambert.png\">\n<img width=\"250\" height=\"auto\" src=\"documents/asset/gl/img/globe-shading-realistic.png\"></p>\n"},"realisticMaterial":{"type":["Object"],"description":"<p>真实感材质相关的配置项,在 <a href=\"#globe.shading\">shading</a> 为<code>&#39;realistic&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0},"roughness":{"type":["number","string","HTMLImageElement","HTMLCanvasElement"],"description":"<p><code>roughness</code>属性用于表示材质的粗糙度,<code>0</code>为完全光滑,<code>1</code>完全粗糙,中间的值则是介于这两者之间。</p>\n<p>下图是 <a href=\"#globe\">globe</a> 中<code>roughness</code>分别是<code>0.2</code>(光滑)与<code>0.8</code>(粗糙)的效果</p>\n<p><img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-gloss.png\">\n<img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-rough.png\"></p>\n<p>当你想要表达更复杂的材质时。你可以直接将 <code>roughness</code> 设置为如下用每个像素存储粗糙度的贴图。</p>\n<p><img width=\"300\" height=\"300\" src=\"documents/asset/gl/img/roughness.png\"></p>\n<p>贴图中颜色越白的地方值越大,也就是越粗糙。你可以从 <a href=\"http://freepbr.com/\" target=\"_blank\">http://freepbr.com/</a> 等资源网站获取不同材质的贴图资源,也可以自己使用工具生成。</p>\n","default":0.5},"metalness":{"type":["number","string","HTMLImageElement","HTMLCanvasElement"],"description":"<p><code>metalness</code>属性用于表示材质是金属还是非金属,<code>0</code>为非金属,<code>1</code>为金属,中间的值则是介于这两者之间,但是通常设成<code>0</code>和<code>1</code>就能满足大部分场景了</p>\n<p>下图是 <a href=\"#globe\">globe</a> 中<code>metalness</code>分别设成<code>1</code>与<code>0</code>的效果区别。</p>\n<p><img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-metal.png\">\n<img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-non-metal.png\"></p>\n<p>跟 <a href=\"#globe.realisticMaterial.roughness\">roughness</a> 一样 你可以直接将 <code>metalness</code> 设置为金属度贴图。</p>\n","default":0},"roughnessAdjust":{"type":["number"],"description":"<p>粗糙度调整,在使用粗糙度贴图的时候有用。可以对贴图整体的粗糙度进行调整。默认为 0.5 的时候不调整,0 的时候变成完全光滑,1 的时候变成完全粗糙。</p>\n","default":0.5},"metalnessAdjust":{"type":["number"],"description":"<p>金属度调整,在使用金属度贴图的时候有用。可以对贴图整体的金属度进行调整。默认为 0.5 的时候不调整,0 的时候变成非金属,1 的时候变成金属。</p>\n","default":0.5},"normalTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的法线贴图。</p>\n<p>使用法线贴图可以在较少的顶点下依然表现出物体表面丰富的明暗细节。</p>\n"}}},"lambertMaterial":{"type":["Object"],"description":"<p>lambert 材质相关的配置项,在 <a href=\"#globe.shading\">shading</a> 为<code>&#39;lambert&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0}}},"colorMaterial":{"type":["Object"],"description":"<p>color 材质相关的配置项,在 <a href=\"#globe.shading\">shading</a> 为<code>&#39;color&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0}}},"light":{"type":["Object"],"description":"<p>光照相关的设置。在 <a href=\"#globe.shading\">shading</a> 为 <code>&#39;color&#39;</code> 的时候无效。</p>\n<p>光照的设置会影响到组件以及组件所在坐标系上的所有图表。</p>\n<p>合理的光照设置能够让整个场景的明暗变得更丰富,更有层次。</p>\n","properties":{"main":{"type":["Object"],"description":"<p>场景主光源的设置,在 <a href=\"#globe\">globe</a> 组件中就是太阳光。</p>\n","properties":{"color":{"type":["string"],"description":"<p>主光源的颜色。</p>\n","default":"#fff"},"intensity":{"type":["number"],"description":"<p>主光源的强度。</p>\n","default":1},"shadow":{"type":["boolean"],"description":"<p>主光源是否投射阴影。默认关闭。</p>\n<p>开启阴影可以给场景带来更真实和有层次的光照效果。但是同时也会增加程序的运行开销。</p>\n<p>下图是开启阴影以及关闭阴影的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-shadow.png\" width=\"100%\" title=\"Shadow\">\n <img src=\"documents/asset/gl/img/geo-no-shadow.png\" width=\"100%\" title=\"No Shadow\">\n</div>\n","default":false},"shadowQuality":{"type":["string"],"description":"<p>阴影的质量。可选<code>&#39;low&#39;</code>, <code>&#39;medium&#39;</code>, <code>&#39;high&#39;</code>, <code>&#39;ultra&#39;</code></p>\n<p>下图是低质量和高质量阴影的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-shadow-low.png\" width=\"100%\" title=\"Low\">\n <img src=\"documents/asset/gl/img/geo-shadow-high.png\" width=\"100%\" title=\"High\">\n</div>\n","default":"'medium'"},"alpha":{"type":["number"],"description":"<p>主光源绕 x 轴,即上下旋转的角度。配合 <a href=\"#globe.light.main.beta\">beta</a> 控制光源的方向。</p>\n<p>如下示意图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/light-alpha-beta.png\"></p>\n<p><a href=\"#globe\">globe</a> 组件中可以通过 <a href=\"#globe.light.main.time\">time</a> 控制日光的时间。</p>\n","default":0},"beta":{"type":["number"],"description":"<p>主光源绕 y 轴,即左右旋转的角度。</p>\n","default":0},"time":{"type":["Date"],"description":"<p>日照的时间,默认使用当前的系统时间。</p>\n"}}},"ambient":{"type":["Object"],"description":"<p>全局的环境光设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>环境光的颜色。</p>\n","default":"#fff"},"intensity":{"type":["number"],"description":"<p>环境光的强度。</p>\n","default":0.2}}},"ambientCubemap":{"type":["Object"],"description":"<p>ambientCubemap 会使用纹理作为光源的环境光, 会为物体提供漫反射和高光反射。可以通过 <a href=\"#globe.light.ambientCubemap.diffuseIntensity\">diffuseIntensity</a> 和 <a href=\"#globe.light.ambientCubemap.specularIntensity\">specularIntensity</a> 分别设置漫反射强度和高光反射强度。</p>\n","properties":{"texture":{"type":["string"],"description":"<p>环境光纹理的 url,支持使用<code>.hdr</code>格式的 HDR 贴图。可以从 <a href=\"http://www.hdrlabs.com/sibl/archive.html\" target=\"_blank\">http://www.hdrlabs.com/sibl/archive.html</a> 等网站获取 <code>.hdr</code> 的资源。</p>\n<p>例如:</p>\n<pre><code class=\"lang-js\">ambientCubemap: {\n texture: &#39;pisa.hdr&#39;,\n // 解析 hdr 时使用的曝光值\n exposure: 1.0\n}\n</code></pre>\n"},"diffuseIntensity":{"type":["number"],"description":"<p>漫反射的强度。</p>\n","default":0.5},"specularIntensity":{"type":["number"],"description":"<p>高光反射的强度。</p>\n","default":0.5}}}}},"postEffect":{"type":["Object"],"description":"<p>后处理特效的相关配置,后处理特效可以为画面添加高光,景深,环境光遮蔽(SSAO),调色等效果。可以让整个画面更富有质感。</p>\n<p>下面分别是关闭和开启 <code>postEffect</code> 的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/globe-posteffect-disable.png\" width=\"100%\" title=\"Disable\">\n <img src=\"documents/asset/gl/img/globe-posteffect-enable.png\" width=\"100%\" title=\"Enable\">\n</div>\n\n<p>注意在开启 postEffect 的时候默认会开启 <a href=\"#globe.temporalSuperSampling\">temporalSuperSampling</a> 在画面静止后持续对画面增强,包括抗锯齿,景深,SSAO,阴影等。</p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启后处理特效,默认关闭。</p>\n","default":false},"bloom":{"type":["Object"],"description":"<p>高光特效。高光特效用来表现很“亮”的颜色,因为传统的 RGB 只能表现<code>0 - 255</code>范围的颜色,所以对于超出这个范围特别“亮”的颜色,会通过这种高光溢出的特效去表现。如下图</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/globe-posteffect-bloom.png\"></p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启光晕特效。</p>\n","default":false},"bloomIntensity":{"type":["number"],"description":"<p>光晕的强度,默认为 0.1</p>\n","default":0.1}}},"depthOfField":{"type":["Object"],"description":"<p>景深效果。景深效果是模拟摄像机的光学成像效果,在对焦的区域相对清晰,原理对焦的区域则会逐渐模糊。</p>\n<p>景深效果可以让观察者几种注意力到对焦的区域,而且让画面的镜头感更强,大景深还能塑造出微距的模型效果。</p>\n<p>下面分别是关闭和开启景深的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-no-dof.png\" width=\"100%\" title=\"Disable\">\n <img src=\"documents/asset/gl/img/geo-dof.png\" width=\"100%\" title=\"Enable\">\n</div>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启景深</p>\n","default":false},"focalDistance":{"type":["boolean"],"description":"<p>初始的焦距,用户可以点击区域自动聚焦。</p>\n","default":50},"focalRange":{"type":["boolean"],"description":"<p>完全聚焦的区域范围,在此范围内的物体时完全清晰的,不会有模糊</p>\n","default":20},"fstop":{"type":["number"],"description":"<p>镜头的<a href=\"https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94\" target=\"_blank\">F值</a>,值越小景深越浅。</p>\n","default":2.8},"blurRadius":{"type":["number"],"description":"<p>焦外的模糊半径</p>\n<p>不同模糊半径的区别:</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-dof-small.png\" width=\"100%\" title=\"blurSize: 3\">\n <img src=\"documents/asset/gl/img/geo-dof-large.png\" width=\"100%\" title=\"blurSize: 10\">\n</div>\n","default":10}}},"screenSpaceAmbientOcclusion":{"type":["Object"],"description":"<p>屏幕空间的环境光遮蔽效果。环境光遮蔽可以让角落,缝隙等大部分光无法到达的区域变暗,是传统的阴影贴图的补充,可以让整个场景更加自然,有层次。</p>\n<p>下面是无 SSAO 和有 SSAO 的对比。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-no-ssao.png\" width=\"100%\" title=\"No SSAO\">\n <img src=\"documents/asset/gl/img/geo-ssao.png\" width=\"100%\" title=\"SSAO\">\n</div>\n"},"SSAO":{"type":["Object"],"description":"<p>同 <a href=\"#globe.postEffect.screenSpaceAmbientOcclusion\">screenSpaceAmbientOcclusion</a></p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启环境光遮蔽,默认不开启</p>\n","default":false},"quality":{"type":["string"],"description":"<p>环境光遮蔽的质量,支持<code>&#39;low&#39;</code>, <code>&#39;medium&#39;</code>, <code>&#39;high&#39;</code>, <code>&#39;ultra&#39;</code></p>\n","default":"'medium'"},"radius":{"type":["number"],"description":"<p>环境光遮蔽的采样半径。半径越大效果越自然,但是需要设置较高的<code>&#39;quality&#39;</code>。</p>\n<p>下面是半径值较小与较大之间的区别</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-ssao-small-radius.png\" width=\"100%\" title=\"Radius: 1\">\n <img src=\"documents/asset/gl/img/geo-ssao-large-radius.png\" width=\"100%\" title=\"Radius: 10\">\n</div>\n","default":2},"intensity":{"type":["number"],"description":"<p>环境光遮蔽的强度。值越大颜色越深。</p>\n","default":1}}},"colorCorrection":{"type":["Object"],"description":"<p>颜色纠正和调整。类似 Photoshop 中的 Color Adjustments</p>\n<p>下图同个场景调整为冷色系和暖色系的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/buildings-cold.jpg\" width=\"100%\" title=\"Cold\">\n <img src=\"documents/asset/gl/img/buildings-warm.jpg\" width=\"100%\" title=\"Warm\">\n</div>\n\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启颜色纠正</p>\n","default":true},"lookupTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>颜色查找表,推荐使用。</p>\n<p>颜色查找表是一张像下面这样的纹理图片。</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/lookup.png\"></p>\n<p>这张是基础的查找表图片,你可以直接拿来使用,为了方便将场景色调调整你想要的效果,你可以将场景截图后在 Photoshop 等图像处理软件中调整颜色到想要的效果,然后将相同的调整应用到上面这张查找表的图片上。</p>\n<p>比如调成冷色调后,查找表的纹理图片就会成为下面这样:</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/crispwinter.png\"></p>\n<p>然后那这张纹理图片就作为该配置项的值,就可以得到相同的你在 Photoshop 上的效果了。</p>\n<p>当然如果你只是想得到一张截图,完全不用再这样折腾,但是如果你想在能实时交互的作品中也能方便的调整到理想的色调,这个就非常有用了。</p>\n"},"exposure":{"type":["number"],"description":"<p>画面的曝光。</p>\n","default":0},"brightness":{"type":["number"],"description":"<p>画面的亮度。</p>\n","default":0},"contrast":{"type":["number"],"description":"<p>画面的对比度。</p>\n","default":1},"saturation":{"type":["number"],"description":"<p>画面的饱和度。</p>\n","default":1}}},"FXAA":{"type":["Object"],"description":"<p>在开启 <a href=\"#globe.postEffect\">postEffect</a> 后,WebGL 默认的 MSAA 会无法使用。这时候通过 FXAA 可以廉价方便的解决抗锯齿的问题,FXAA 会对一些场景的边缘部分进行模糊从而解决锯齿的问题,这在一些场景上效果还不错,但是在 echarts-gl 中,需要保证很多文字和线条边缘的锐利清晰,因此 FXAA 并不是那么适用。这时候我们可以通过如下设置更高的<code>devicePixelRatio</code>来使用超采样</p>\n<pre><code class=\"lang-js\">var chart = echarts.init(dom, null, {\n devicePixelRatio: 2\n})\n</code></pre>\n<p>但是这种方法对电脑性能有很高的要求,所以更多时候我们建议使用 echarts-gl 中的 <a href=\"#globe.temporalSuperSampling\">temporalSuperSampling</a>,在画面静止后会持续分帧对一个像素多次抖动采样,从而达到超采样抗锯齿的效果。</p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启 FXAA,默认关闭。</p>\n","default":false}}}}},"temporalSuperSampling":{"type":["Object"],"description":"<p>分帧超采样。在开启 <a href=\"#globe.postEffect\">postEffect</a> 后,WebGL 默认的 MSAA 会无法使用,所以我们需要自己解决锯齿的问题。</p>\n<p>分帧超采样就是用来解决锯齿的问题,它在画面静止后会持续分帧对一个像素多次抖动采样,从而达到抗锯齿的效果。而且在这个分帧采样的过程中,echarts-gl 也会对 <a href=\"#globe.postEffect\">postEffect</a> 中一些需要采样保证效果的特效,例如 <a href=\"#globe.postEffect.SSAO\">SSAO</a>, <a href=\"#globe.postEffect.depthOfField\">景深</a>,以及阴影进行渐进增强。</p>\n<p>下面是未开启和开启<code>temporalSuperSampling</code>的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 800px;\">\n <img src=\"documents/asset/gl/img/surface-no-taa.png\" width=\"100%\" title=\"No AA\">\n <img src=\"documents/asset/gl/img/surface-taa.png\" width=\"100%\" title=\"AA\">\n</div>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启分帧超采样。默认在开启 <a href=\"#globe.postEffect\">postEffect</a> 后也会同步开启。</p>\n","default":"'auto'"}}},"viewControl":{"type":["Object"],"description":"<p><code>viewControl</code>用于鼠标的旋转,缩放等视角控制。</p>\n","properties":{"projection":{"type":["string"],"description":"<p>投影方式,默认为透视投影<code>&#39;perspective&#39;</code>,也支持设置为正交投影<code>&#39;orthographic&#39;</code>。</p>\n","default":"perspective"},"autoRotate":{"type":["boolean"],"description":"<p>是否开启视角绕物体的自动旋转查看。</p>\n","default":false},"autoRotateDirection":{"type":["string"],"description":"<p>物体自转的方向。默认是 <code>&#39;cw&#39;</code> 也就是从上往下看是顺时针方向,也可以取 <code>&#39;ccw&#39;</code>,既从上往下看为逆时针方向。</p>\n","default":"cw"},"autoRotateSpeed":{"type":["number"],"description":"<p>物体自转的速度。单位为<code>角度 / 秒</code>,默认为<code>10</code> ,也就是<code>36</code>秒转一圈。</p>\n","default":10},"autoRotateAfterStill":{"type":["number"],"description":"<p>在鼠标静止操作后恢复自动旋转的时间间隔。在开启 <a href=\"#globe.viewControl.autoRotate\">autoRotate</a> 后有效。</p>\n","default":3},"damping":{"type":["number"],"description":"<p>鼠标进行旋转,缩放等操作时的迟滞因子,在大于 0 的时候鼠标在停止操作后,视角仍会因为一定的惯性继续运动(旋转和缩放)。</p>\n","default":0.8},"rotateSensitivity":{"type":["number","Array"],"description":"<p>旋转操作的灵敏度,值越大越灵敏。支持使用数组分别设置横向和纵向的旋转灵敏度。</p>\n<p>默认为``</p>\n<p>设置为<code>0</code>后无法旋转。</p>\n<pre><code class=\"lang-js\">// 无法旋转\nrotateSensitivity: 0\n// 只能横向旋转\nrotateSensitivity: [1, 0]\n// 只能纵向旋转\nrotateSensitivity: [0, 1]\n</code></pre>\n","default":1},"zoomSensitivity":{"type":["number"],"description":"<p>缩放操作的灵敏度,值越大越灵敏。默认为``</p>\n<p>设置为<code>0</code>后无法缩放。</p>\n","default":1},"panSensitivity":{"type":["number"],"description":"<p>平移操作的灵敏度,值越大越灵敏。支持使用数组分别设置横向和纵向的平移灵敏度</p>\n<p>默认为``</p>\n<p>设置为<code>0</code>后无法平移。</p>\n","default":0},"panMouseButton":{"type":["string"],"description":"<p>平移操作使用的鼠标按键,支持:</p>\n<ul>\n<li><p><code>&#39;left&#39;</code> 鼠标左键(默认)</p>\n</li>\n<li><p><code>&#39;middle&#39;</code> 鼠标中键</p>\n</li>\n<li><p><code>&#39;right&#39;</code> 鼠标右键</p>\n</li>\n</ul>\n<p>注意:如果设置为鼠标右键则会阻止默认的右键菜单。</p>\n","default":"left"},"rotateMouseButton":{"type":["string"],"description":"<p>旋转操作使用的鼠标按键,支持:</p>\n<ul>\n<li><p><code>&#39;left&#39;</code> 鼠标左键</p>\n</li>\n<li><p><code>&#39;middle&#39;</code> 鼠标中键(默认)</p>\n</li>\n<li><p><code>&#39;right&#39;</code> 鼠标右键</p>\n</li>\n</ul>\n<p>注意:如果设置为鼠标右键则会阻止默认的右键菜单。</p>\n","default":"middle"},"distance":{"type":["number"],"description":"<p>默认视角距离主体的距离,对于 <a href=\"#globe\">globe</a> 来说是距离地球表面的距离,对于 <a href=\"#grid3D\">grid3D</a> 和 <a href=\"#geo3D\">geo3D</a> 等其它组件来说是距离中心原点的距离。在 <a href=\"#globe.viewControl.projection\">projection</a> 为<code>&#39;perspective&#39;</code>的时候有效。</p>\n","default":150},"minDistance":{"type":["number"],"description":"<p>视角通过鼠标控制能拉近到主体的最小距离。在 <a href=\"#globe.viewControl.projection\">projection</a> 为<code>&#39;perspective&#39;</code>的时候有效。</p>\n","default":40},"maxDistance":{"type":["number"],"description":"<p>视角通过鼠标控制能拉远到主体的最大距离。在 <a href=\"#globe.viewControl.projection\">projection</a> 为<code>&#39;perspective&#39;</code>的时候有效。</p>\n","default":400},"orthographicSize":{"type":["number"],"description":"<p>正交投影的大小。在 <a href=\"#globe.viewControl.projection\">projection</a> 为<code>&#39;orthographic&#39;</code>的时候有效。</p>\n","default":150},"maxOrthographicSize":{"type":["number"],"description":"<p>正交投影缩放的最大值。在 <a href=\"#globe.viewControl.projection\">projection</a> 为<code>&#39;orthographic&#39;</code>的时候有效。</p>\n","default":20},"minOrthographicSize":{"type":["number"],"description":"<p>正交投影缩放的最小值。在 <a href=\"#globe.viewControl.projection\">projection</a> 为<code>&#39;orthographic&#39;</code>的时候有效。</p>\n","default":400},"alpha":{"type":["number"],"description":"<p>视角绕 x 轴,即上下旋转的角度。配合 <a href=\"#globe.light.main.beta\">beta</a> 可以控制视角的方向。</p>\n<p>如下示意图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/view-alpha-beta.png\"></p>\n","default":0},"beta":{"type":["number"],"description":"<p>视角绕 y 轴,即左右旋转的角度。</p>\n","default":0},"center":{"type":["Array"],"description":"<p>视角中心点,旋转也会围绕这个中心点旋转,默认为<code>[0,0,0]</code>。</p>\n"},"minAlpha":{"type":["number"],"description":"<p>上下旋转的最小 alpha 值。即视角能旋转到达最上面的角度。</p>\n","default":-90},"maxAlpha":{"type":["number"],"description":"<p>上下旋转的最大 alpha 值。即视角能旋转到达最下面的角度。</p>\n","default":90},"minBeta":{"type":["number"],"description":"<p>左右旋转的最小 beta 值。即视角能旋转到达最左的角度。</p>\n","default":null},"maxBeta":{"type":["number"],"description":"<p>左右旋转的最大 beta 值。即视角能旋转到达最右的角度。</p>\n","default":null},"animation":{"type":["boolean"],"description":"<p>是否开启动画。</p>\n","default":true},"animationDurationUpdate":{"type":["number"],"description":"<p>过渡动画的时长。</p>\n","default":1000},"animationEasingUpdate":{"type":["string"],"description":"<p>过渡动画的缓动效果。</p>\n","default":"cubicInOut"},"targetCoord":{"type":["Array"],"description":"<p>定位目标的经纬度坐标。设置后会忽略 <a href=\"#globe.viewControl.alpha\">alpha</a> 和 <a href=\"#globe.viewControl.beta\">beta</a>。</p>\n<pre><code class=\"lang-js\">viewControl: {\n // 定位到北京\n targetCoord: [116.46, 39.92]\n}\n</code></pre>\n"}}},"layers":{"type":["Array"],"description":"<p>地球表面层的配置,你可以使用该配置项加入云层,或者对 <a href=\"#globe.baseTexture\">baseTexture</a> 进行补充绘制出国家的轮廓等等。</p>\n","items":{"type":"Object","properties":{"show":{"type":["boolean"],"description":"<p>是否显示该层。</p>\n","default":true},"type":{"type":["string"],"description":"<p>层的类型,可选:</p>\n<ul>\n<li><code>&#39;overlay&#39;</code></li>\n</ul>\n<p>在地表上的覆盖层,可以用来显示云层等。</p>\n<ul>\n<li><code>&#39;blend&#39;</code></li>\n</ul>\n<p>跟 <a href=\"#globe.baseTexture\">baseTexture</a> 混合。</p>\n","default":"'overlay'"},"name":{"type":["string"],"description":"<p>层的名字,在用 setOption 设置层属性的时候可以用 name 来标识需要更新的层。</p>\n<pre><code class=\"lang-js\">chart.setOption({\n globe: {\n layer: [{\n // 更新 name 为 &#39;cloud&#39; 的层的纹理\n name: &#39;cloud&#39;,\n texture: &#39;cloud.png&#39;\n }]\n }\n});\n</code></pre>\n"},"blendTo":{"type":["string"],"description":"<p>在 <a href=\"#globe.layers.type\">type</a> 为 <code>&#39;blend&#39;</code> 时有效。</p>\n<p>可选:</p>\n<ul>\n<li><p><code>albedo</code> 混合到 albedo,受光照的影响。</p>\n</li>\n<li><p><code>emission</code> 混合到自发光,不受光照影响。</p>\n</li>\n</ul>\n","default":"'albedo'"},"intensity":{"type":["number"],"description":"<p>混合的强度。</p>\n","default":1},"shading":{"type":["string"],"description":"<p>覆盖层的着色效果,同 <a href=\"#globe.shading\">globe.shading</a>, 支持 <code>&#39;color&#39;</code>, <code>&#39;lambert&#39;</code>, <code>&#39;realistic&#39;</code></p>\n<p>在 <a href=\"globe.layers.type\" target=\"_blank\">type</a> 为 <code>&#39;overlay&#39;</code> 时有效。</p>\n","default":"'lambert'"},"distance":{"type":["number"],"description":"<p>覆盖层离地球表面的距离。</p>\n<p>在 <a href=\"#globe.layers.type\">type</a> 为 <code>&#39;overlay&#39;</code> 时有效。</p>\n","default":null},"texture":{"type":["string","HTMLImageElement","HTMLCanvasElement","EChartsInstance"],"description":"<p>层的纹理,支持图片路径字符串,图片或者 Canvas 的对象。</p>\n<p>也支持直接使用 echarts 的实例作为纹理,此时在地球上的鼠标动作会跟纹理上使用的 echarts 实例有联动。</p>\n"}}}},"zlevel":{"type":["number"],"description":"<p>组件所在的层。</p>\n<p><code>zlevel</code>用于 Canvas 分层,不同<code>zlevel</code>值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁(例如有动画)的组件设置成一个单独的<code>zlevel</code>。需要注意的是过多的 Canvas 会引起内存开销的增大,在手机端上需要谨慎使用以防崩溃。</p>\n<p><code>zlevel</code> 大的 Canvas 会放在 <code>zlevel</code> 小的 Canvas 的上面。</p>\n<p><strong>注:</strong> echarts-gl 中组件的层需要跟 echarts 中组件的层分开。同一个 zlevel 不能同时用于 WebGL 和 Canvas 的绘制。</p>\n","default":-10},"left":{"type":["string","number"],"description":"<p>组件的视图离容器左侧的距离。</p>\n<p><code>left</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比,也可以是 <code>&#39;left&#39;</code>, <code>&#39;center&#39;</code>, <code>&#39;right&#39;</code>。</p>\n<p>如果 <code>left</code> 的值为<code>&#39;left&#39;</code>, <code>&#39;center&#39;</code>, <code>&#39;right&#39;</code>,组件会根据相应的位置自动对齐。</p>\n","default":"auto"},"top":{"type":["string","number"],"description":"<p>组件的视图离容器上侧的距离。</p>\n<p><code>top</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比,也可以是 <code>&#39;top&#39;</code>, <code>&#39;middle&#39;</code>, <code>&#39;bottom&#39;</code>。</p>\n<p>如果 <code>top</code> 的值为<code>&#39;top&#39;</code>, <code>&#39;middle&#39;</code>, <code>&#39;bottom&#39;</code>,组件会根据相应的位置自动对齐。</p>\n","default":"auto"},"right":{"type":["string","number"],"description":"<p>组件的视图离容器右侧的距离。</p>\n<p><code>right</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比。</p>\n<p>默认自适应。</p>\n","default":"auto"},"bottom":{"type":["string","number"],"description":"<p>组件的视图离容器下侧的距离。</p>\n<p><code>bottom</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比。</p>\n<p>默认自适应。</p>\n","default":"auto"},"width":{"type":["string","number"],"description":"<p>组件的视图宽度。</p>\n","default":"auto"},"height":{"type":["string","number"],"description":"<p>组件的视图高度。</p>\n","default":"auto"}}},"geo3D":{"type":["Object"],"description":"<p>三维的地理坐标系组件。组件提供了三维 GeoJSON 的绘制以及相应的坐标系,开发者可以在上面展示三维的散点图,气泡图,柱状图,飞线图。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示三维地理坐标系组件</p>\n","default":true},"map":{"type":["string"],"description":"<p>地图类型。echarts-gl 中使用的地图类型同 <a href=\"http://echarts.baidu.com/option.html#geo.map\" target=\"_blank\">geo</a> 组件相同</p>\n<p>你可以在<a href=\"http://ecomfe.github.io/echarts-builder-web/map3.html\" target=\"_blank\">地图下载界面</a>下载到需要的地图文件引入并注册到 ECharts 中。</p>\n<p>ECharts 中提供了两种格式的地图数据,一种是可以直接 script 标签引入的 js 文件,引入后会自动注册地图名字和数据。还有一种是 JSON 文件,需要通过 AJAX 异步加载后手动注册。</p>\n<p>下面是两种类型的使用示例:</p>\n<p><strong> JavaScript 引入示例 </strong></p>\n<pre><code class=\"lang-html\">&lt;script src=&quot;echarts.js&quot;&gt;&lt;/script&gt;\n&lt;script src=&quot;map/js/china.js&quot;&gt;&lt;/script&gt;\n&lt;script&gt;\nvar chart = echarts.init(document.getElementById(&#39;main&#39;));\nchart.setOption({\n series: [{\n type: &#39;map&#39;,\n map: &#39;china&#39;\n }]\n});\n&lt;/script&gt;\n</code></pre>\n<p><strong> JSON 引入示例 </strong></p>\n<pre><code class=\"lang-js\">$.get(&#39;map/json/china.json&#39;, function (chinaJson) {\n echarts.registerMap(&#39;china&#39;, chinaJson);\n var chart = echarts.init(document.getElementById(&#39;main&#39;));\n chart.setOption({\n series: [{\n type: &#39;map&#39;,\n map: &#39;china&#39;\n }]\n });\n});\n</code></pre>\n<p>ECharts 使用 <a href=\"http://geojson.org/\" target=\"_blank\">geoJSON</a> 格式的数据作为地图的轮廓,除了上述数据,你也可以通过其它手段获取地图的 <a href=\"http://geojson.org/\" target=\"_blank\">geoJSON</a> 数据注册到 ECharts 中。</p>\n"},"boxWidth":{"type":["number"],"description":"<p>三维地理坐标系组件组件在三维场景中的宽度。配合 <a href=\"#geo3D.viewControl.distance\">viewControl.distance</a> 可以得到最合适的展示尺寸。</p>\n<p>下面是三维地理坐标系组件 中<code>boxWidth</code>, <code>boxHeight</code>, <code>boxDepth</code>, <code>regionHeight</code>的示意图。</p>\n<p><img width=\"600\" height=\"auto\" src=\"documents/asset/gl/img/geo-size.png\"></p>\n","default":100},"boxHeight":{"type":["number"],"description":"<p>三维地理坐标系组件组件在三维场景中的高度。</p>\n<p>组件高度。这个高度包含三维地图上的柱状图,散点图。</p>\n","default":10},"boxDepth":{"type":["number"],"description":"<p>三维地理坐标系组件组件在三维场景中的深度。</p>\n<p>组件深度默认自动,保证三维组件的显示比例跟输入的 GeoJSON 的比例相同</p>\n","default":"auto"},"regionHeight":{"type":["number"],"description":"<p>三维地图每个区域的高度。这个高度是模型的高度,小于 <a href=\"#geo3D.boxHeight\">boxHeight</a>。<code>boxHeight - regionHeight</code> 这一片区域会被用于三维柱状图,散点图等的展示。</p>\n","default":3},"environment":{"type":["string"],"description":"<p>环境贴图,支持純颜色值,渐变色,全景贴图的 url。默认为 <code>&#39;auto&#39;</code>,在配置有 <a href=\"#geo3D.light.ambientCubemap.texture\">light.ambientCubemap.texture</a> 的时候会使用该纹理作为环境贴图。否则则不显示环境贴图。</p>\n<p>示例:</p>\n<pre><code class=\"lang-js\">// 配置为全景贴图\nenvironment: &#39;asset/starfield.jpg&#39;\n// 配置为纯黑色的背景\nenvironment: &#39;#000&#39;\n// 配置为垂直渐变的背景\nenvironment: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{\n offset: 0, color: &#39;#00aaff&#39; // 天空颜色\n}, {\n offset: 0.7, color: &#39;#998866&#39; // 地面颜色\n}, {\n offset: 1, color: &#39;#998866&#39; // 地面颜色\n}], false)\n</code></pre>\n","default":"'auto'"},"groundPlane":{"type":["Object"],"description":"<p>地面可以让整个组件有个“摆放”的地方,从而使整个场景看起来更真实,更有模型感。</p>\n<p><code>groundPlane</code> 下支持设置单独的 <code>realisticMaterial</code>, <code>colorMaterial</code>, <code>lambertMaterial</code> 等材质。如果不设置则默认取组件下的材质参数。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示地面。</p>\n","default":false},"color":{"type":["string"],"description":"<p>地面颜色。</p>\n","default":"'#aaa'"}}},"instancing":{"type":["boolean"],"description":"<p><code>instancing</code>会将 GeoJSON 中所有的 <a href=\"http://geojson.org/geojson-spec.html#geometry-objects\" target=\"_blank\">geometry</a> 合并成一个,在 GeoJSON 拥有特别多(上千)的 <a href=\"http://geojson.org/geojson-spec.html#geometry-objects\" target=\"_blank\">geometry</a> 时可以有效提升绘制效率。</p>\n","default":false},"label":{"type":["Object"],"description":"<p>标签的相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":false},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n"},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"\"#fff\""},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":12},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}},"itemStyle":{"type":["Object"],"description":"<p>三维地理坐标系组件 中三维图形的视觉属性,包括颜色,透明度,描边等。</p>\n","properties":{"color":{"type":["string","Function"],"description":"<p>图形的颜色。 默认从全局调色盘 <a href=\"http://echarts.baidu.com/option.html#color\" target=\"_blank\">option.color</a> 获取颜色 </p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1},"borderWidth":{"type":["number"],"description":"<p>图形描边的宽度。加上描边后可以更清晰的区分每个区域。如下图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/geo-border.png\"></p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>图形描边的颜色。</p>\n","default":"#333"}}},"emphasis":{"type":["Object"],"description":"<p>鼠标 hover 高亮时图形和标签的样式</p>\n","properties":{"label":{"type":["Object"],"description":"","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":false},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n","default":2},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"#000"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":1},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":20},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}},"itemStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1}}}}},"regions":{"type":["Array"],"description":"<p>地图区域的设置,</p>\n","items":{"type":"Object","properties":{"name":{"type":["string"],"description":"<p>所对应的地图区域的名称,例如 <code>&#39;广东&#39;</code>,<code>&#39;浙江&#39;</code>。</p>\n"},"regionHeight":{"type":["number"],"description":"<p>区域的高度,可以设置不同的高度用来表达数据的大小。当 GeoJSON 为建筑的数据时,也可以通过这个值表示简直的高度。如下图</p>\n<p><img width=\"700\" height=\"auto\" src=\"documents/asset/gl/img/city-region-height.jpg\"></p>\n"},"itemStyle":{"type":["Object"],"description":"<p>单个区域的样式设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1},"borderWidth":{"type":["number"],"description":"<p>图形描边的宽度。加上描边后可以更清晰的区分每个区域。如下图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/geo-border.png\"></p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>图形描边的颜色。</p>\n","default":"#333"}}},"label":{"type":["Object"],"description":"<p>单个区域的标签设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":false},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n","default":2},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"#000"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":1},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":20},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}},"emphasis":{"type":["Object"],"description":"<p>单个区域标签和样式的高亮设置。</p>\n","properties":{"itemStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1},"borderWidth":{"type":["number"],"description":"<p>图形描边的宽度。加上描边后可以更清晰的区分每个区域。如下图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/geo-border.png\"></p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>图形描边的颜色。</p>\n","default":"#333"}}},"label":{"type":["Object"],"description":"","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":false},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n","default":2},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"#000"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":1},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":20},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}}}}}}},"shading":{"type":["string"],"description":"<p>三维地理坐标系组件中三维图形的着色效果,echarts-gl 中支持下面三种着色方式</p>\n<ul>\n<li><p><code>&#39;color&#39;</code>\n只显示颜色,不受光照等其它因素的影响。</p>\n</li>\n<li><p><code>&#39;lambert&#39;</code>\n通过经典的 <a href=\"https://en.wikipedia.org/wiki/Lambertian_reflectance\" target=\"_blank\">lambert</a> 着色表现光照带来的明暗。</p>\n</li>\n<li><p><code>&#39;realistic&#39;</code>\n真实感渲染,配合 <a href=\"#globe.light.ambientCubemap\">light.ambientCubemap</a> 和 <a href=\"#globe.postEffect\">postEffect</a> 使用可以让展示的画面效果和质感有质的提升。ECharts GL 中使用了<a href=\"https://www.marmoset.co/posts/physically-based-rendering-and-you-can-too/\" target=\"_blank\">基于物理的渲染(PBR)</a> 来表现真实感材质。</p>\n</li>\n</ul>\n"},"realisticMaterial":{"type":["Object"],"description":"<p>真实感材质相关的配置项,在 <a href=\"#geo3D.shading\">shading</a> 为<code>&#39;realistic&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0},"roughness":{"type":["number","string","HTMLImageElement","HTMLCanvasElement"],"description":"<p><code>roughness</code>属性用于表示材质的粗糙度,<code>0</code>为完全光滑,<code>1</code>完全粗糙,中间的值则是介于这两者之间。</p>\n<p>下图是 <a href=\"#globe\">globe</a> 中<code>roughness</code>分别是<code>0.2</code>(光滑)与<code>0.8</code>(粗糙)的效果</p>\n<p><img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-gloss.png\">\n<img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-rough.png\"></p>\n<p>当你想要表达更复杂的材质时。你可以直接将 <code>roughness</code> 设置为如下用每个像素存储粗糙度的贴图。</p>\n<p><img width=\"300\" height=\"300\" src=\"documents/asset/gl/img/roughness.png\"></p>\n<p>贴图中颜色越白的地方值越大,也就是越粗糙。你可以从 <a href=\"http://freepbr.com/\" target=\"_blank\">http://freepbr.com/</a> 等资源网站获取不同材质的贴图资源,也可以自己使用工具生成。</p>\n","default":0.5},"metalness":{"type":["number","string","HTMLImageElement","HTMLCanvasElement"],"description":"<p><code>metalness</code>属性用于表示材质是金属还是非金属,<code>0</code>为非金属,<code>1</code>为金属,中间的值则是介于这两者之间,但是通常设成<code>0</code>和<code>1</code>就能满足大部分场景了</p>\n<p>下图是 <a href=\"#globe\">globe</a> 中<code>metalness</code>分别设成<code>1</code>与<code>0</code>的效果区别。</p>\n<p><img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-metal.png\">\n<img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-non-metal.png\"></p>\n<p>跟 <a href=\"#geo3D.realisticMaterial.roughness\">roughness</a> 一样 你可以直接将 <code>metalness</code> 设置为金属度贴图。</p>\n","default":0},"roughnessAdjust":{"type":["number"],"description":"<p>粗糙度调整,在使用粗糙度贴图的时候有用。可以对贴图整体的粗糙度进行调整。默认为 0.5 的时候不调整,0 的时候变成完全光滑,1 的时候变成完全粗糙。</p>\n","default":0.5},"metalnessAdjust":{"type":["number"],"description":"<p>金属度调整,在使用金属度贴图的时候有用。可以对贴图整体的金属度进行调整。默认为 0.5 的时候不调整,0 的时候变成非金属,1 的时候变成金属。</p>\n","default":0.5},"normalTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的法线贴图。</p>\n<p>使用法线贴图可以在较少的顶点下依然表现出物体表面丰富的明暗细节。</p>\n"}}},"lambertMaterial":{"type":["Object"],"description":"<p>lambert 材质相关的配置项,在 <a href=\"#geo3D.shading\">shading</a> 为<code>&#39;lambert&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0}}},"colorMaterial":{"type":["Object"],"description":"<p>color 材质相关的配置项,在 <a href=\"#geo3D.shading\">shading</a> 为<code>&#39;color&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0}}},"light":{"type":["Object"],"description":"<p>光照相关的设置。在 <a href=\"#geo3D.shading\">shading</a> 为 <code>&#39;color&#39;</code> 的时候无效。</p>\n<p>光照的设置会影响到组件以及组件所在坐标系上的所有图表。</p>\n<p>合理的光照设置能够让整个场景的明暗变得更丰富,更有层次。</p>\n","properties":{"main":{"type":["Object"],"description":"<p>场景主光源的设置,在 <a href=\"#globe\">globe</a> 组件中就是太阳光。</p>\n","properties":{"color":{"type":["string"],"description":"<p>主光源的颜色。</p>\n","default":"#fff"},"intensity":{"type":["number"],"description":"<p>主光源的强度。</p>\n","default":1},"shadow":{"type":["boolean"],"description":"<p>主光源是否投射阴影。默认关闭。</p>\n<p>开启阴影可以给场景带来更真实和有层次的光照效果。但是同时也会增加程序的运行开销。</p>\n<p>下图是开启阴影以及关闭阴影的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-shadow.png\" width=\"100%\" title=\"Shadow\">\n <img src=\"documents/asset/gl/img/geo-no-shadow.png\" width=\"100%\" title=\"No Shadow\">\n</div>\n","default":false},"shadowQuality":{"type":["string"],"description":"<p>阴影的质量。可选<code>&#39;low&#39;</code>, <code>&#39;medium&#39;</code>, <code>&#39;high&#39;</code>, <code>&#39;ultra&#39;</code></p>\n<p>下图是低质量和高质量阴影的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-shadow-low.png\" width=\"100%\" title=\"Low\">\n <img src=\"documents/asset/gl/img/geo-shadow-high.png\" width=\"100%\" title=\"High\">\n</div>\n","default":"'medium'"},"alpha":{"type":["number"],"description":"<p>主光源绕 x 轴,即上下旋转的角度。配合 <a href=\"#geo3D.light.main.beta\">beta</a> 控制光源的方向。</p>\n<p>如下示意图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/light-alpha-beta.png\"></p>\n<p><a href=\"#globe\">globe</a> 组件中可以通过 <a href=\"#globe.light.main.time\">time</a> 控制日光的时间。</p>\n","default":40},"beta":{"type":["number"],"description":"<p>主光源绕 y 轴,即左右旋转的角度。</p>\n","default":40}}},"ambient":{"type":["Object"],"description":"<p>全局的环境光设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>环境光的颜色。</p>\n","default":"#fff"},"intensity":{"type":["number"],"description":"<p>环境光的强度。</p>\n","default":0.2}}},"ambientCubemap":{"type":["Object"],"description":"<p>ambientCubemap 会使用纹理作为光源的环境光, 会为物体提供漫反射和高光反射。可以通过 <a href=\"#geo3D.light.ambientCubemap.diffuseIntensity\">diffuseIntensity</a> 和 <a href=\"#geo3D.light.ambientCubemap.specularIntensity\">specularIntensity</a> 分别设置漫反射强度和高光反射强度。</p>\n","properties":{"texture":{"type":["string"],"description":"<p>环境光纹理的 url,支持使用<code>.hdr</code>格式的 HDR 贴图。可以从 <a href=\"http://www.hdrlabs.com/sibl/archive.html\" target=\"_blank\">http://www.hdrlabs.com/sibl/archive.html</a> 等网站获取 <code>.hdr</code> 的资源。</p>\n<p>例如:</p>\n<pre><code class=\"lang-js\">ambientCubemap: {\n texture: &#39;pisa.hdr&#39;,\n // 解析 hdr 时使用的曝光值\n exposure: 1.0\n}\n</code></pre>\n"},"diffuseIntensity":{"type":["number"],"description":"<p>漫反射的强度。</p>\n","default":0.5},"specularIntensity":{"type":["number"],"description":"<p>高光反射的强度。</p>\n","default":0.5}}}}},"postEffect":{"type":["Object"],"description":"<p>后处理特效的相关配置,后处理特效可以为画面添加高光,景深,环境光遮蔽(SSAO),调色等效果。可以让整个画面更富有质感。</p>\n<p>下面分别是关闭和开启 <code>postEffect</code> 的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/globe-posteffect-disable.png\" width=\"100%\" title=\"Disable\">\n <img src=\"documents/asset/gl/img/globe-posteffect-enable.png\" width=\"100%\" title=\"Enable\">\n</div>\n\n<p>注意在开启 postEffect 的时候默认会开启 <a href=\"#geo3D.temporalSuperSampling\">temporalSuperSampling</a> 在画面静止后持续对画面增强,包括抗锯齿,景深,SSAO,阴影等。</p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启后处理特效,默认关闭。</p>\n","default":false},"bloom":{"type":["Object"],"description":"<p>高光特效。高光特效用来表现很“亮”的颜色,因为传统的 RGB 只能表现<code>0 - 255</code>范围的颜色,所以对于超出这个范围特别“亮”的颜色,会通过这种高光溢出的特效去表现。如下图</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/globe-posteffect-bloom.png\"></p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启光晕特效。</p>\n","default":false},"bloomIntensity":{"type":["number"],"description":"<p>光晕的强度,默认为 0.1</p>\n","default":0.1}}},"depthOfField":{"type":["Object"],"description":"<p>景深效果。景深效果是模拟摄像机的光学成像效果,在对焦的区域相对清晰,原理对焦的区域则会逐渐模糊。</p>\n<p>景深效果可以让观察者几种注意力到对焦的区域,而且让画面的镜头感更强,大景深还能塑造出微距的模型效果。</p>\n<p>下面分别是关闭和开启景深的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-no-dof.png\" width=\"100%\" title=\"Disable\">\n <img src=\"documents/asset/gl/img/geo-dof.png\" width=\"100%\" title=\"Enable\">\n</div>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启景深</p>\n","default":false},"focalDistance":{"type":["boolean"],"description":"<p>初始的焦距,用户可以点击区域自动聚焦。</p>\n","default":50},"focalRange":{"type":["boolean"],"description":"<p>完全聚焦的区域范围,在此范围内的物体时完全清晰的,不会有模糊</p>\n","default":20},"fstop":{"type":["number"],"description":"<p>镜头的<a href=\"https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94\" target=\"_blank\">F值</a>,值越小景深越浅。</p>\n","default":2.8},"blurRadius":{"type":["number"],"description":"<p>焦外的模糊半径</p>\n<p>不同模糊半径的区别:</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-dof-small.png\" width=\"100%\" title=\"blurSize: 3\">\n <img src=\"documents/asset/gl/img/geo-dof-large.png\" width=\"100%\" title=\"blurSize: 10\">\n</div>\n","default":10}}},"screenSpaceAmbientOcclusion":{"type":["Object"],"description":"<p>屏幕空间的环境光遮蔽效果。环境光遮蔽可以让角落,缝隙等大部分光无法到达的区域变暗,是传统的阴影贴图的补充,可以让整个场景更加自然,有层次。</p>\n<p>下面是无 SSAO 和有 SSAO 的对比。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-no-ssao.png\" width=\"100%\" title=\"No SSAO\">\n <img src=\"documents/asset/gl/img/geo-ssao.png\" width=\"100%\" title=\"SSAO\">\n</div>\n"},"SSAO":{"type":["Object"],"description":"<p>同 <a href=\"#geo3D.postEffect.screenSpaceAmbientOcclusion\">screenSpaceAmbientOcclusion</a></p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启环境光遮蔽,默认不开启</p>\n","default":false},"quality":{"type":["string"],"description":"<p>环境光遮蔽的质量,支持<code>&#39;low&#39;</code>, <code>&#39;medium&#39;</code>, <code>&#39;high&#39;</code>, <code>&#39;ultra&#39;</code></p>\n","default":"'medium'"},"radius":{"type":["number"],"description":"<p>环境光遮蔽的采样半径。半径越大效果越自然,但是需要设置较高的<code>&#39;quality&#39;</code>。</p>\n<p>下面是半径值较小与较大之间的区别</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-ssao-small-radius.png\" width=\"100%\" title=\"Radius: 1\">\n <img src=\"documents/asset/gl/img/geo-ssao-large-radius.png\" width=\"100%\" title=\"Radius: 10\">\n</div>\n","default":2},"intensity":{"type":["number"],"description":"<p>环境光遮蔽的强度。值越大颜色越深。</p>\n","default":1}}},"colorCorrection":{"type":["Object"],"description":"<p>颜色纠正和调整。类似 Photoshop 中的 Color Adjustments</p>\n<p>下图同个场景调整为冷色系和暖色系的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/buildings-cold.jpg\" width=\"100%\" title=\"Cold\">\n <img src=\"documents/asset/gl/img/buildings-warm.jpg\" width=\"100%\" title=\"Warm\">\n</div>\n\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启颜色纠正</p>\n","default":true},"lookupTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>颜色查找表,推荐使用。</p>\n<p>颜色查找表是一张像下面这样的纹理图片。</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/lookup.png\"></p>\n<p>这张是基础的查找表图片,你可以直接拿来使用,为了方便将场景色调调整你想要的效果,你可以将场景截图后在 Photoshop 等图像处理软件中调整颜色到想要的效果,然后将相同的调整应用到上面这张查找表的图片上。</p>\n<p>比如调成冷色调后,查找表的纹理图片就会成为下面这样:</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/crispwinter.png\"></p>\n<p>然后那这张纹理图片就作为该配置项的值,就可以得到相同的你在 Photoshop 上的效果了。</p>\n<p>当然如果你只是想得到一张截图,完全不用再这样折腾,但是如果你想在能实时交互的作品中也能方便的调整到理想的色调,这个就非常有用了。</p>\n"},"exposure":{"type":["number"],"description":"<p>画面的曝光。</p>\n","default":0},"brightness":{"type":["number"],"description":"<p>画面的亮度。</p>\n","default":0},"contrast":{"type":["number"],"description":"<p>画面的对比度。</p>\n","default":1},"saturation":{"type":["number"],"description":"<p>画面的饱和度。</p>\n","default":1}}},"FXAA":{"type":["Object"],"description":"<p>在开启 <a href=\"#geo3D.postEffect\">postEffect</a> 后,WebGL 默认的 MSAA 会无法使用。这时候通过 FXAA 可以廉价方便的解决抗锯齿的问题,FXAA 会对一些场景的边缘部分进行模糊从而解决锯齿的问题,这在一些场景上效果还不错,但是在 echarts-gl 中,需要保证很多文字和线条边缘的锐利清晰,因此 FXAA 并不是那么适用。这时候我们可以通过如下设置更高的<code>devicePixelRatio</code>来使用超采样</p>\n<pre><code class=\"lang-js\">var chart = echarts.init(dom, null, {\n devicePixelRatio: 2\n})\n</code></pre>\n<p>但是这种方法对电脑性能有很高的要求,所以更多时候我们建议使用 echarts-gl 中的 <a href=\"#geo3D.temporalSuperSampling\">temporalSuperSampling</a>,在画面静止后会持续分帧对一个像素多次抖动采样,从而达到超采样抗锯齿的效果。</p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启 FXAA,默认关闭。</p>\n","default":false}}}}},"temporalSuperSampling":{"type":["Object"],"description":"<p>分帧超采样。在开启 <a href=\"#geo3D.postEffect\">postEffect</a> 后,WebGL 默认的 MSAA 会无法使用,所以我们需要自己解决锯齿的问题。</p>\n<p>分帧超采样就是用来解决锯齿的问题,它在画面静止后会持续分帧对一个像素多次抖动采样,从而达到抗锯齿的效果。而且在这个分帧采样的过程中,echarts-gl 也会对 <a href=\"#geo3D.postEffect\">postEffect</a> 中一些需要采样保证效果的特效,例如 <a href=\"#geo3D.postEffect.SSAO\">SSAO</a>, <a href=\"#geo3D.postEffect.depthOfField\">景深</a>,以及阴影进行渐进增强。</p>\n<p>下面是未开启和开启<code>temporalSuperSampling</code>的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 800px;\">\n <img src=\"documents/asset/gl/img/surface-no-taa.png\" width=\"100%\" title=\"No AA\">\n <img src=\"documents/asset/gl/img/surface-taa.png\" width=\"100%\" title=\"AA\">\n</div>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启分帧超采样。默认在开启 <a href=\"#geo3D.postEffect\">postEffect</a> 后也会同步开启。</p>\n","default":"'auto'"}}},"viewControl":{"type":["Object"],"description":"<p><code>viewControl</code>用于鼠标的旋转,缩放等视角控制。</p>\n","properties":{"projection":{"type":["string"],"description":"<p>投影方式,默认为透视投影<code>&#39;perspective&#39;</code>,也支持设置为正交投影<code>&#39;orthographic&#39;</code>。</p>\n","default":"perspective"},"autoRotate":{"type":["boolean"],"description":"<p>是否开启视角绕物体的自动旋转查看。</p>\n","default":false},"autoRotateDirection":{"type":["string"],"description":"<p>物体自转的方向。默认是 <code>&#39;cw&#39;</code> 也就是从上往下看是顺时针方向,也可以取 <code>&#39;ccw&#39;</code>,既从上往下看为逆时针方向。</p>\n","default":"cw"},"autoRotateSpeed":{"type":["number"],"description":"<p>物体自转的速度。单位为<code>角度 / 秒</code>,默认为<code>10</code> ,也就是<code>36</code>秒转一圈。</p>\n","default":10},"autoRotateAfterStill":{"type":["number"],"description":"<p>在鼠标静止操作后恢复自动旋转的时间间隔。在开启 <a href=\"#geo3D.viewControl.autoRotate\">autoRotate</a> 后有效。</p>\n","default":3},"damping":{"type":["number"],"description":"<p>鼠标进行旋转,缩放等操作时的迟滞因子,在大于 0 的时候鼠标在停止操作后,视角仍会因为一定的惯性继续运动(旋转和缩放)。</p>\n","default":0.8},"rotateSensitivity":{"type":["number","Array"],"description":"<p>旋转操作的灵敏度,值越大越灵敏。支持使用数组分别设置横向和纵向的旋转灵敏度。</p>\n<p>默认为``</p>\n<p>设置为<code>0</code>后无法旋转。</p>\n<pre><code class=\"lang-js\">// 无法旋转\nrotateSensitivity: 0\n// 只能横向旋转\nrotateSensitivity: [1, 0]\n// 只能纵向旋转\nrotateSensitivity: [0, 1]\n</code></pre>\n","default":1},"zoomSensitivity":{"type":["number"],"description":"<p>缩放操作的灵敏度,值越大越灵敏。默认为``</p>\n<p>设置为<code>0</code>后无法缩放。</p>\n","default":1},"panSensitivity":{"type":["number"],"description":"<p>平移操作的灵敏度,值越大越灵敏。支持使用数组分别设置横向和纵向的平移灵敏度</p>\n<p>默认为``</p>\n<p>设置为<code>0</code>后无法平移。</p>\n","default":1},"panMouseButton":{"type":["string"],"description":"<p>平移操作使用的鼠标按键,支持:</p>\n<ul>\n<li><p><code>&#39;left&#39;</code> 鼠标左键(默认)</p>\n</li>\n<li><p><code>&#39;middle&#39;</code> 鼠标中键</p>\n</li>\n<li><p><code>&#39;right&#39;</code> 鼠标右键</p>\n</li>\n</ul>\n<p>注意:如果设置为鼠标右键则会阻止默认的右键菜单。</p>\n","default":"left"},"rotateMouseButton":{"type":["string"],"description":"<p>旋转操作使用的鼠标按键,支持:</p>\n<ul>\n<li><p><code>&#39;left&#39;</code> 鼠标左键</p>\n</li>\n<li><p><code>&#39;middle&#39;</code> 鼠标中键(默认)</p>\n</li>\n<li><p><code>&#39;right&#39;</code> 鼠标右键</p>\n</li>\n</ul>\n<p>注意:如果设置为鼠标右键则会阻止默认的右键菜单。</p>\n","default":"middle"},"distance":{"type":["number"],"description":"<p>默认视角距离主体的距离,对于 <a href=\"#globe\">globe</a> 来说是距离地球表面的距离,对于 <a href=\"#grid3D\">grid3D</a> 和 <a href=\"#geo3D\">geo3D</a> 等其它组件来说是距离中心原点的距离。在 <a href=\"#geo3D.viewControl.projection\">projection</a> 为<code>&#39;perspective&#39;</code>的时候有效。</p>\n","default":100},"minDistance":{"type":["number"],"description":"<p>视角通过鼠标控制能拉近到主体的最小距离。在 <a href=\"#geo3D.viewControl.projection\">projection</a> 为<code>&#39;perspective&#39;</code>的时候有效。</p>\n","default":40},"maxDistance":{"type":["number"],"description":"<p>视角通过鼠标控制能拉远到主体的最大距离。在 <a href=\"#geo3D.viewControl.projection\">projection</a> 为<code>&#39;perspective&#39;</code>的时候有效。</p>\n","default":400},"orthographicSize":{"type":["number"],"description":"<p>正交投影的大小。在 <a href=\"#geo3D.viewControl.projection\">projection</a> 为<code>&#39;orthographic&#39;</code>的时候有效。</p>\n","default":100},"maxOrthographicSize":{"type":["number"],"description":"<p>正交投影缩放的最大值。在 <a href=\"#geo3D.viewControl.projection\">projection</a> 为<code>&#39;orthographic&#39;</code>的时候有效。</p>\n","default":20},"minOrthographicSize":{"type":["number"],"description":"<p>正交投影缩放的最小值。在 <a href=\"#geo3D.viewControl.projection\">projection</a> 为<code>&#39;orthographic&#39;</code>的时候有效。</p>\n","default":400},"alpha":{"type":["number"],"description":"<p>视角绕 x 轴,即上下旋转的角度。配合 <a href=\"#geo3D.light.main.beta\">beta</a> 可以控制视角的方向。</p>\n<p>如下示意图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/view-alpha-beta.png\"></p>\n","default":40},"beta":{"type":["number"],"description":"<p>视角绕 y 轴,即左右旋转的角度。</p>\n","default":0},"center":{"type":["Array"],"description":"<p>视角中心点,旋转也会围绕这个中心点旋转,默认为<code>[0,0,0]</code>。</p>\n"},"minAlpha":{"type":["number"],"description":"<p>上下旋转的最小 alpha 值。即视角能旋转到达最上面的角度。</p>\n","default":5},"maxAlpha":{"type":["number"],"description":"<p>上下旋转的最大 alpha 值。即视角能旋转到达最下面的角度。</p>\n","default":90},"minBeta":{"type":["number"],"description":"<p>左右旋转的最小 beta 值。即视角能旋转到达最左的角度。</p>\n","default":-80},"maxBeta":{"type":["number"],"description":"<p>左右旋转的最大 beta 值。即视角能旋转到达最右的角度。</p>\n","default":80},"animation":{"type":["boolean"],"description":"<p>是否开启动画。</p>\n","default":true},"animationDurationUpdate":{"type":["number"],"description":"<p>过渡动画的时长。</p>\n","default":1000},"animationEasingUpdate":{"type":["string"],"description":"<p>过渡动画的缓动效果。</p>\n","default":"cubicInOut"}}},"zlevel":{"type":["number"],"description":"<p>组件所在的层。</p>\n<p><code>zlevel</code>用于 Canvas 分层,不同<code>zlevel</code>值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁(例如有动画)的组件设置成一个单独的<code>zlevel</code>。需要注意的是过多的 Canvas 会引起内存开销的增大,在手机端上需要谨慎使用以防崩溃。</p>\n<p><code>zlevel</code> 大的 Canvas 会放在 <code>zlevel</code> 小的 Canvas 的上面。</p>\n<p><strong>注:</strong> echarts-gl 中组件的层需要跟 echarts 中组件的层分开。同一个 zlevel 不能同时用于 WebGL 和 Canvas 的绘制。</p>\n","default":-10},"left":{"type":["string","number"],"description":"<p>组件的视图离容器左侧的距离。</p>\n<p><code>left</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比,也可以是 <code>&#39;left&#39;</code>, <code>&#39;center&#39;</code>, <code>&#39;right&#39;</code>。</p>\n<p>如果 <code>left</code> 的值为<code>&#39;left&#39;</code>, <code>&#39;center&#39;</code>, <code>&#39;right&#39;</code>,组件会根据相应的位置自动对齐。</p>\n","default":"auto"},"top":{"type":["string","number"],"description":"<p>组件的视图离容器上侧的距离。</p>\n<p><code>top</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比,也可以是 <code>&#39;top&#39;</code>, <code>&#39;middle&#39;</code>, <code>&#39;bottom&#39;</code>。</p>\n<p>如果 <code>top</code> 的值为<code>&#39;top&#39;</code>, <code>&#39;middle&#39;</code>, <code>&#39;bottom&#39;</code>,组件会根据相应的位置自动对齐。</p>\n","default":"auto"},"right":{"type":["string","number"],"description":"<p>组件的视图离容器右侧的距离。</p>\n<p><code>right</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比。</p>\n<p>默认自适应。</p>\n","default":"auto"},"bottom":{"type":["string","number"],"description":"<p>组件的视图离容器下侧的距离。</p>\n<p><code>bottom</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比。</p>\n<p>默认自适应。</p>\n","default":"auto"},"width":{"type":["string","number"],"description":"<p>组件的视图宽度。</p>\n","default":"auto"},"height":{"type":["string","number"],"description":"<p>组件的视图高度。</p>\n","default":"auto"}}},"mapbox3D":{"type":["Object"],"description":"<p>基于 mapbox-gl-js 的地理组件。支持在 mapbox 的地图上绘制三维的散点图,飞线图,柱状图和地图。你可以利用 Mapbox 强大的地图服务和 ECharts GL 丰富的可视化和渲染效果实现你想要的可视化作品。</p>\n<p>在使用 mapbox 组件之前你需要先引入 mapbox 的官方 sdk。</p>\n<pre><code class=\"lang-html\">&lt;script src=&#39;https://api.mapbox.com/mapbox-gl-js/v0.38.0/mapbox-gl.js&#39;&gt;&lt;/script&gt;\n&lt;link href=&#39;https://api.mapbox.com/mapbox-gl-js/v0.38.0/mapbox-gl.css&#39; rel=&#39;stylesheet&#39; /&gt;\n</code></pre>\n<p>然后获取到 mapbox 提供的 token 后设置到 <code>mapbox.accessToken</code> 上。</p>\n<pre><code class=\"lang-js\">mapboxgl.accessToken = &#39;你的 token&#39;;\n</code></pre>\n<p>接下来你就可以像使用其它组件一样使用 mapbox 组件了。</p>\n<pre><code class=\"lang-js\">chart.setOption({\n mapbox: {\n style: &#39;mapbox://styles/mapbox/dark-v9&#39;\n }\n});\n</code></pre>\n<p>可以前往 <a href=\"https://www.mapbox.com/mapbox-gl-js/api/\" target=\"_blank\">https://www.mapbox.com/mapbox-gl-js/api/</a> 了解更详细的关于 mapbox-gl-js sdk 的内容。</p>\n","properties":{"style":{"type":["string","Object"],"description":"<p>Mapbox 地图样式。同 <a href=\"https://www.mapbox.com/mapbox-gl-js/style-spec/\" target=\"_blank\">https://www.mapbox.com/mapbox-gl-js/style-spec/</a></p>\n"},"center":{"type":["Array"],"description":"<p>Mapbox 地图中心经纬度。经纬度用数组表示,例如:</p>\n<pre><code class=\"lang-js\">mapbox3D: {\n center: [104.114129, 37.550339],\n zoom: 3\n}\n</code></pre>\n"},"zoom":{"type":["number"],"description":"<p>Mapbox 地图的缩放等级。见 <a href=\"https://www.mapbox.com/mapbox-gl-js/style-spec/#root-zoom\" target=\"_blank\">https://www.mapbox.com/mapbox-gl-js/style-spec/#root-zoom</a></p>\n"},"bearing":{"type":["number"],"description":"<p>Mapbox 地图的旋转角度。见 <a href=\"https://www.mapbox.com/mapbox-gl-js/style-spec/#root-bearing\" target=\"_blank\">https://www.mapbox.com/mapbox-gl-js/style-spec/#root-bearing</a></p>\n","default":0},"pitch":{"type":["number"],"description":"<p>视角俯视的倾斜角度。默认为<code>0</code>,也就是正对着地图。最大<code>60</code>。见 <a href=\"https://www.mapbox.com/mapbox-gl-js/style-spec/#root-pitch\" target=\"_blank\">https://www.mapbox.com/mapbox-gl-js/style-spec/#root-pitch</a></p>\n","default":0},"altitudeScale":{"type":["number"],"description":"<p>海拔的缩放。</p>\n","default":1},"shading":{"type":["string"],"description":"<p>mapbox3D中三维图形的着色效果,echarts-gl 中支持下面三种着色方式</p>\n<ul>\n<li><p><code>&#39;color&#39;</code>\n只显示颜色,不受光照等其它因素的影响。</p>\n</li>\n<li><p><code>&#39;lambert&#39;</code>\n通过经典的 <a href=\"https://en.wikipedia.org/wiki/Lambertian_reflectance\" target=\"_blank\">lambert</a> 着色表现光照带来的明暗。</p>\n</li>\n<li><p><code>&#39;realistic&#39;</code>\n真实感渲染,配合 <a href=\"#globe.light.ambientCubemap\">light.ambientCubemap</a> 和 <a href=\"#globe.postEffect\">postEffect</a> 使用可以让展示的画面效果和质感有质的提升。ECharts GL 中使用了<a href=\"https://www.marmoset.co/posts/physically-based-rendering-and-you-can-too/\" target=\"_blank\">基于物理的渲染(PBR)</a> 来表现真实感材质。</p>\n</li>\n</ul>\n"},"realisticMaterial":{"type":["Object"],"description":"<p>真实感材质相关的配置项,在 <a href=\"#mapbox3D.shading\">shading</a> 为<code>&#39;realistic&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0},"roughness":{"type":["number","string","HTMLImageElement","HTMLCanvasElement"],"description":"<p><code>roughness</code>属性用于表示材质的粗糙度,<code>0</code>为完全光滑,<code>1</code>完全粗糙,中间的值则是介于这两者之间。</p>\n<p>下图是 <a href=\"#globe\">globe</a> 中<code>roughness</code>分别是<code>0.2</code>(光滑)与<code>0.8</code>(粗糙)的效果</p>\n<p><img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-gloss.png\">\n<img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-rough.png\"></p>\n<p>当你想要表达更复杂的材质时。你可以直接将 <code>roughness</code> 设置为如下用每个像素存储粗糙度的贴图。</p>\n<p><img width=\"300\" height=\"300\" src=\"documents/asset/gl/img/roughness.png\"></p>\n<p>贴图中颜色越白的地方值越大,也就是越粗糙。你可以从 <a href=\"http://freepbr.com/\" target=\"_blank\">http://freepbr.com/</a> 等资源网站获取不同材质的贴图资源,也可以自己使用工具生成。</p>\n","default":0.5},"metalness":{"type":["number","string","HTMLImageElement","HTMLCanvasElement"],"description":"<p><code>metalness</code>属性用于表示材质是金属还是非金属,<code>0</code>为非金属,<code>1</code>为金属,中间的值则是介于这两者之间,但是通常设成<code>0</code>和<code>1</code>就能满足大部分场景了</p>\n<p>下图是 <a href=\"#globe\">globe</a> 中<code>metalness</code>分别设成<code>1</code>与<code>0</code>的效果区别。</p>\n<p><img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-metal.png\">\n<img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-non-metal.png\"></p>\n<p>跟 <a href=\"#mapbox3D.realisticMaterial.roughness\">roughness</a> 一样 你可以直接将 <code>metalness</code> 设置为金属度贴图。</p>\n","default":0},"roughnessAdjust":{"type":["number"],"description":"<p>粗糙度调整,在使用粗糙度贴图的时候有用。可以对贴图整体的粗糙度进行调整。默认为 0.5 的时候不调整,0 的时候变成完全光滑,1 的时候变成完全粗糙。</p>\n","default":0.5},"metalnessAdjust":{"type":["number"],"description":"<p>金属度调整,在使用金属度贴图的时候有用。可以对贴图整体的金属度进行调整。默认为 0.5 的时候不调整,0 的时候变成非金属,1 的时候变成金属。</p>\n","default":0.5},"normalTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的法线贴图。</p>\n<p>使用法线贴图可以在较少的顶点下依然表现出物体表面丰富的明暗细节。</p>\n"}}},"lambertMaterial":{"type":["Object"],"description":"<p>lambert 材质相关的配置项,在 <a href=\"#mapbox3D.shading\">shading</a> 为<code>&#39;lambert&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0}}},"colorMaterial":{"type":["Object"],"description":"<p>color 材质相关的配置项,在 <a href=\"#mapbox3D.shading\">shading</a> 为<code>&#39;color&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0}}},"light":{"type":["Object"],"description":"<p>光照相关的设置。在 <a href=\"#mapbox3D.shading\">shading</a> 为 <code>&#39;color&#39;</code> 的时候无效。</p>\n<p>光照的设置会影响到组件以及组件所在坐标系上的所有图表。</p>\n<p>合理的光照设置能够让整个场景的明暗变得更丰富,更有层次。</p>\n","properties":{"main":{"type":["Object"],"description":"<p>场景主光源的设置,在 <a href=\"#globe\">globe</a> 组件中就是太阳光。</p>\n","properties":{"color":{"type":["string"],"description":"<p>主光源的颜色。</p>\n","default":"#fff"},"intensity":{"type":["number"],"description":"<p>主光源的强度。</p>\n","default":1},"shadow":{"type":["boolean"],"description":"<p>主光源是否投射阴影。默认关闭。</p>\n<p>开启阴影可以给场景带来更真实和有层次的光照效果。但是同时也会增加程序的运行开销。</p>\n<p>下图是开启阴影以及关闭阴影的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-shadow.png\" width=\"100%\" title=\"Shadow\">\n <img src=\"documents/asset/gl/img/geo-no-shadow.png\" width=\"100%\" title=\"No Shadow\">\n</div>\n","default":false},"shadowQuality":{"type":["string"],"description":"<p>阴影的质量。可选<code>&#39;low&#39;</code>, <code>&#39;medium&#39;</code>, <code>&#39;high&#39;</code>, <code>&#39;ultra&#39;</code></p>\n<p>下图是低质量和高质量阴影的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-shadow-low.png\" width=\"100%\" title=\"Low\">\n <img src=\"documents/asset/gl/img/geo-shadow-high.png\" width=\"100%\" title=\"High\">\n</div>\n","default":"'medium'"},"alpha":{"type":["number"],"description":"<p>主光源绕 x 轴,即上下旋转的角度。配合 <a href=\"#mapbox3D.light.main.beta\">beta</a> 控制光源的方向。</p>\n<p>如下示意图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/light-alpha-beta.png\"></p>\n<p><a href=\"#globe\">globe</a> 组件中可以通过 <a href=\"#globe.light.main.time\">time</a> 控制日光的时间。</p>\n","default":40},"beta":{"type":["number"],"description":"<p>主光源绕 y 轴,即左右旋转的角度。</p>\n","default":40}}},"ambient":{"type":["Object"],"description":"<p>全局的环境光设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>环境光的颜色。</p>\n","default":"#fff"},"intensity":{"type":["number"],"description":"<p>环境光的强度。</p>\n","default":0.2}}},"ambientCubemap":{"type":["Object"],"description":"<p>ambientCubemap 会使用纹理作为光源的环境光, 会为物体提供漫反射和高光反射。可以通过 <a href=\"#mapbox3D.light.ambientCubemap.diffuseIntensity\">diffuseIntensity</a> 和 <a href=\"#mapbox3D.light.ambientCubemap.specularIntensity\">specularIntensity</a> 分别设置漫反射强度和高光反射强度。</p>\n","properties":{"texture":{"type":["string"],"description":"<p>环境光纹理的 url,支持使用<code>.hdr</code>格式的 HDR 贴图。可以从 <a href=\"http://www.hdrlabs.com/sibl/archive.html\" target=\"_blank\">http://www.hdrlabs.com/sibl/archive.html</a> 等网站获取 <code>.hdr</code> 的资源。</p>\n<p>例如:</p>\n<pre><code class=\"lang-js\">ambientCubemap: {\n texture: &#39;pisa.hdr&#39;,\n // 解析 hdr 时使用的曝光值\n exposure: 1.0\n}\n</code></pre>\n"},"diffuseIntensity":{"type":["number"],"description":"<p>漫反射的强度。</p>\n","default":0.5},"specularIntensity":{"type":["number"],"description":"<p>高光反射的强度。</p>\n","default":0.5}}}}},"postEffect":{"type":["Object"],"description":"<p>后处理特效的相关配置,后处理特效可以为画面添加高光,景深,环境光遮蔽(SSAO),调色等效果。可以让整个画面更富有质感。</p>\n<p>下面分别是关闭和开启 <code>postEffect</code> 的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/globe-posteffect-disable.png\" width=\"100%\" title=\"Disable\">\n <img src=\"documents/asset/gl/img/globe-posteffect-enable.png\" width=\"100%\" title=\"Enable\">\n</div>\n\n<p>注意在开启 postEffect 的时候默认会开启 <a href=\"#mapbox3D.temporalSuperSampling\">temporalSuperSampling</a> 在画面静止后持续对画面增强,包括抗锯齿,景深,SSAO,阴影等。</p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启后处理特效,默认关闭。</p>\n","default":false},"bloom":{"type":["Object"],"description":"<p>高光特效。高光特效用来表现很“亮”的颜色,因为传统的 RGB 只能表现<code>0 - 255</code>范围的颜色,所以对于超出这个范围特别“亮”的颜色,会通过这种高光溢出的特效去表现。如下图</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/globe-posteffect-bloom.png\"></p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启光晕特效。</p>\n","default":false},"bloomIntensity":{"type":["number"],"description":"<p>光晕的强度,默认为 0.1</p>\n","default":0.1}}},"depthOfField":{"type":["Object"],"description":"<p>景深效果。景深效果是模拟摄像机的光学成像效果,在对焦的区域相对清晰,原理对焦的区域则会逐渐模糊。</p>\n<p>景深效果可以让观察者几种注意力到对焦的区域,而且让画面的镜头感更强,大景深还能塑造出微距的模型效果。</p>\n<p>下面分别是关闭和开启景深的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-no-dof.png\" width=\"100%\" title=\"Disable\">\n <img src=\"documents/asset/gl/img/geo-dof.png\" width=\"100%\" title=\"Enable\">\n</div>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启景深</p>\n","default":false},"focalDistance":{"type":["boolean"],"description":"<p>初始的焦距,用户可以点击区域自动聚焦。</p>\n","default":50},"focalRange":{"type":["boolean"],"description":"<p>完全聚焦的区域范围,在此范围内的物体时完全清晰的,不会有模糊</p>\n","default":20},"fstop":{"type":["number"],"description":"<p>镜头的<a href=\"https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94\" target=\"_blank\">F值</a>,值越小景深越浅。</p>\n","default":2.8},"blurRadius":{"type":["number"],"description":"<p>焦外的模糊半径</p>\n<p>不同模糊半径的区别:</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-dof-small.png\" width=\"100%\" title=\"blurSize: 3\">\n <img src=\"documents/asset/gl/img/geo-dof-large.png\" width=\"100%\" title=\"blurSize: 10\">\n</div>\n","default":10}}},"screenSpaceAmbientOcclusion":{"type":["Object"],"description":"<p>屏幕空间的环境光遮蔽效果。环境光遮蔽可以让角落,缝隙等大部分光无法到达的区域变暗,是传统的阴影贴图的补充,可以让整个场景更加自然,有层次。</p>\n<p>下面是无 SSAO 和有 SSAO 的对比。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-no-ssao.png\" width=\"100%\" title=\"No SSAO\">\n <img src=\"documents/asset/gl/img/geo-ssao.png\" width=\"100%\" title=\"SSAO\">\n</div>\n"},"SSAO":{"type":["Object"],"description":"<p>同 <a href=\"#mapbox3D.postEffect.screenSpaceAmbientOcclusion\">screenSpaceAmbientOcclusion</a></p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启环境光遮蔽,默认不开启</p>\n","default":false},"quality":{"type":["string"],"description":"<p>环境光遮蔽的质量,支持<code>&#39;low&#39;</code>, <code>&#39;medium&#39;</code>, <code>&#39;high&#39;</code>, <code>&#39;ultra&#39;</code></p>\n","default":"'medium'"},"radius":{"type":["number"],"description":"<p>环境光遮蔽的采样半径。半径越大效果越自然,但是需要设置较高的<code>&#39;quality&#39;</code>。</p>\n<p>下面是半径值较小与较大之间的区别</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-ssao-small-radius.png\" width=\"100%\" title=\"Radius: 1\">\n <img src=\"documents/asset/gl/img/geo-ssao-large-radius.png\" width=\"100%\" title=\"Radius: 10\">\n</div>\n","default":2},"intensity":{"type":["number"],"description":"<p>环境光遮蔽的强度。值越大颜色越深。</p>\n","default":1}}},"colorCorrection":{"type":["Object"],"description":"<p>颜色纠正和调整。类似 Photoshop 中的 Color Adjustments</p>\n<p>下图同个场景调整为冷色系和暖色系的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/buildings-cold.jpg\" width=\"100%\" title=\"Cold\">\n <img src=\"documents/asset/gl/img/buildings-warm.jpg\" width=\"100%\" title=\"Warm\">\n</div>\n\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启颜色纠正</p>\n","default":true},"lookupTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>颜色查找表,推荐使用。</p>\n<p>颜色查找表是一张像下面这样的纹理图片。</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/lookup.png\"></p>\n<p>这张是基础的查找表图片,你可以直接拿来使用,为了方便将场景色调调整你想要的效果,你可以将场景截图后在 Photoshop 等图像处理软件中调整颜色到想要的效果,然后将相同的调整应用到上面这张查找表的图片上。</p>\n<p>比如调成冷色调后,查找表的纹理图片就会成为下面这样:</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/crispwinter.png\"></p>\n<p>然后那这张纹理图片就作为该配置项的值,就可以得到相同的你在 Photoshop 上的效果了。</p>\n<p>当然如果你只是想得到一张截图,完全不用再这样折腾,但是如果你想在能实时交互的作品中也能方便的调整到理想的色调,这个就非常有用了。</p>\n"},"exposure":{"type":["number"],"description":"<p>画面的曝光。</p>\n","default":0},"brightness":{"type":["number"],"description":"<p>画面的亮度。</p>\n","default":0},"contrast":{"type":["number"],"description":"<p>画面的对比度。</p>\n","default":1},"saturation":{"type":["number"],"description":"<p>画面的饱和度。</p>\n","default":1}}},"FXAA":{"type":["Object"],"description":"<p>在开启 <a href=\"#mapbox3D.postEffect\">postEffect</a> 后,WebGL 默认的 MSAA 会无法使用。这时候通过 FXAA 可以廉价方便的解决抗锯齿的问题,FXAA 会对一些场景的边缘部分进行模糊从而解决锯齿的问题,这在一些场景上效果还不错,但是在 echarts-gl 中,需要保证很多文字和线条边缘的锐利清晰,因此 FXAA 并不是那么适用。这时候我们可以通过如下设置更高的<code>devicePixelRatio</code>来使用超采样</p>\n<pre><code class=\"lang-js\">var chart = echarts.init(dom, null, {\n devicePixelRatio: 2\n})\n</code></pre>\n<p>但是这种方法对电脑性能有很高的要求,所以更多时候我们建议使用 echarts-gl 中的 <a href=\"#mapbox3D.temporalSuperSampling\">temporalSuperSampling</a>,在画面静止后会持续分帧对一个像素多次抖动采样,从而达到超采样抗锯齿的效果。</p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启 FXAA,默认关闭。</p>\n","default":false}}}}},"temporalSuperSampling":{"type":["Object"],"description":"<p>分帧超采样。在开启 <a href=\"#mapbox3D.postEffect\">postEffect</a> 后,WebGL 默认的 MSAA 会无法使用,所以我们需要自己解决锯齿的问题。</p>\n<p>分帧超采样就是用来解决锯齿的问题,它在画面静止后会持续分帧对一个像素多次抖动采样,从而达到抗锯齿的效果。而且在这个分帧采样的过程中,echarts-gl 也会对 <a href=\"#mapbox3D.postEffect\">postEffect</a> 中一些需要采样保证效果的特效,例如 <a href=\"#mapbox3D.postEffect.SSAO\">SSAO</a>, <a href=\"#mapbox3D.postEffect.depthOfField\">景深</a>,以及阴影进行渐进增强。</p>\n<p>下面是未开启和开启<code>temporalSuperSampling</code>的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 800px;\">\n <img src=\"documents/asset/gl/img/surface-no-taa.png\" width=\"100%\" title=\"No AA\">\n <img src=\"documents/asset/gl/img/surface-taa.png\" width=\"100%\" title=\"AA\">\n</div>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启分帧超采样。默认在开启 <a href=\"#mapbox3D.postEffect\">postEffect</a> 后也会同步开启。</p>\n","default":"'auto'"}}}}},"grid3D":{"type":["Object"],"description":"<p>三维笛卡尔坐标系组件。需要和 <a href=\"#xAxis3D\">xAxis3D</a>,<a href=\"#yAxis3D\">yAxis3D</a>,<a href=\"#zAxis3D\">zAxis3D</a> 三个坐标轴组件一起使用。</p>\n<p>可以在三维笛卡尔坐标系上绘制<a href=\"#series-line3D\">三维折线图</a>,<a href=\"#series-bar3D\">三维柱状图</a>,<a href=\"#series-scatter3D\">三维散点/气泡图</a>,<a href=\"#series-surface\">曲面图</a>。</p>\n<p>你可以设置 <a href=\"#grid3D.postEffect\">postEffect</a>, <a href=\"#grid3D.light\">light</a> 等配置项提升<code>grid3D</code>中三维图表的显示效果。</p>\n<p>下面是 grid3D 中坐标轴配置项的说明。</p>\n<p><img width=\"700\" height=\"auto\" src=\"documents/asset/gl/img/grid3D.png\"></p>\n<hr>\n<blockquote>\n<p><strong>注意:</strong> <a href=\"#xAxis3D\">xAxis3D</a>,<a href=\"#yAxis3D\">yAxis3D</a>,<a href=\"#zAxis3D\">zAxis3D</a> 上单独设置的<code>axisLine</code>, <code>axisTick</code>, <code>axisLabel</code>, <code>splitLine</code>, <code>splitArea</code>, <code>axisPointer</code>会覆盖<code>grid3D</code>下的相应配置项。</p>\n</blockquote>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示三维笛卡尔坐标系。</p>\n"},"boxWidth":{"type":["number"],"description":"<p>三维笛卡尔坐标系组件在三维场景中的宽度。配合 <a href=\"#grid3D.viewControl.distance\">viewControl.distance</a> 可以得到最合适的展示尺寸。</p>\n","default":100},"boxHeight":{"type":["number"],"description":"<p>三维笛卡尔坐标系组件在三维场景中的高度。</p>\n","default":100},"boxDepth":{"type":["number"],"description":"<p>三维笛卡尔坐标系组件在三维场景中的深度。</p>\n","default":100},"axisLine":{"type":["Object"],"description":"<p>坐标轴轴线相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴轴线。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"'#333'"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":2}}}}},"axisLabel":{"type":["Object"],"description":"<p>坐标轴刻度标签的相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示刻度标签。</p>\n","default":true},"margin":{"type":["number"],"description":"<p>刻度标签与轴线之间的距离。</p>\n<p><strong>注意:</strong> 这个距离是三维空间而非屏幕空间的。</p>\n","default":8},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"formatter":{"type":["string","Function"],"description":"","default":null},"textStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["Color","Function"],"description":"<p>刻度标签文字的颜色,默认取 <a href=\"#.axisLine.lineStyle.color\">axisLine.lineStyle.color</a>。支持回调函数,格式如下</p>\n<pre><code class=\"lang-js\">(val: string) =&gt; Color\n</code></pre>\n<p>参数是标签的文本,返回颜色值,如下示例:</p>\n<pre><code class=\"lang-js\">textStyle: {\n color: function (value, index) {\n return value &gt;= 0 ? &#39;green&#39; : &#39;red&#39;;\n }\n}\n</code></pre>\n"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":12},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n<!-- Overwrite color -->","default":"normal"}}}}},"axisTick":{"type":["Object"],"description":"<p>坐标轴刻度相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴刻度。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。默认同 <a href=\"#.axisLabel.interval\">axisLabel.interval</a> 一样。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"length":{"type":["number"],"description":"<p>坐标轴刻度的长度。</p>\n","default":5},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["Color"],"description":"<p>刻度线的颜色,默认取 <a href=\"#.axisLine.lineStyle.color\">axisLine.lineStyle.color</a>。</p>\n"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n<!-- Overwrite color -->","default":1}}}}},"splitLine":{"type":["Object"],"description":"<p>坐标轴轴线相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴轴线。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"'#333'"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":2}}}}},"splitArea":{"type":["Object"],"description":"<p>坐标轴在 <a href=\"#grid3D\">grid3D</a> 的平面上的分隔区域。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示分隔区域。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴分隔区域的显示间隔,在类目轴中有效。默认同 <a href=\"#.axisLabel.interval\">axisLabel.interval</a> 一样。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"areaStyle":{"type":["Object"],"description":"<p>分隔区域的样式设置。</p>\n","properties":{"color":{"type":["Array"],"description":"<p>分隔区域颜色。分隔区域会按数组中颜色的顺序依次循环设置颜色。默认是一个深浅的间隔色。</p>\n","default":"['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)']"}}}}},"axisPointer":{"type":["Object"],"description":"<p>坐标轴指示线。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴指示线。</p>\n","default":true},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"'rgba(0, 0, 0, 0.8)'"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":1}}},"label":{"type":["Object"],"description":"<p>指示线标签。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示指示线标签。默认数值轴显示,类目轴不显示。</p>\n","default":true},"formatter":{"type":["Function"],"description":"<p>标签格式器,函数第一个参数是当前坐标轴的数值,第二个参数是所有坐标轴的数值数组</p>\n<pre><code class=\"lang-js\">(value: number, valueAll: Array) =&gt; string\n</code></pre>\n"},"margin":{"type":["number"],"description":"<p>标签距离坐标轴的距离。同刻度标签一样,这个距离是三维空间而非屏幕像素。</p>\n"},"textStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"\"#fff\""},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":16},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}}}},"environment":{"type":["string"],"description":"<p>环境贴图,支持純颜色值,渐变色,全景贴图的 url。默认为 <code>&#39;auto&#39;</code>,在配置有 <a href=\"#grid3D.light.ambientCubemap.texture\">light.ambientCubemap.texture</a> 的时候会使用该纹理作为环境贴图。否则则不显示环境贴图。</p>\n<p>示例:</p>\n<pre><code class=\"lang-js\">// 配置为全景贴图\nenvironment: &#39;asset/starfield.jpg&#39;\n// 配置为纯黑色的背景\nenvironment: &#39;#000&#39;\n// 配置为垂直渐变的背景\nenvironment: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{\n offset: 0, color: &#39;#00aaff&#39; // 天空颜色\n}, {\n offset: 0.7, color: &#39;#998866&#39; // 地面颜色\n}, {\n offset: 1, color: &#39;#998866&#39; // 地面颜色\n}], false)\n</code></pre>\n","default":"'auto'"},"light":{"type":["Object"],"description":"<p>光照相关的设置。在 <a href=\"#grid3D.shading\">shading</a> 为 <code>&#39;color&#39;</code> 的时候无效。</p>\n<p>光照的设置会影响到组件以及组件所在坐标系上的所有图表。</p>\n<p>合理的光照设置能够让整个场景的明暗变得更丰富,更有层次。</p>\n","properties":{"main":{"type":["Object"],"description":"<p>场景主光源的设置,在 <a href=\"#globe\">globe</a> 组件中就是太阳光。</p>\n","properties":{"color":{"type":["string"],"description":"<p>主光源的颜色。</p>\n","default":"#fff"},"intensity":{"type":["number"],"description":"<p>主光源的强度。</p>\n","default":1},"shadow":{"type":["boolean"],"description":"<p>主光源是否投射阴影。默认关闭。</p>\n<p>开启阴影可以给场景带来更真实和有层次的光照效果。但是同时也会增加程序的运行开销。</p>\n<p>下图是开启阴影以及关闭阴影的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-shadow.png\" width=\"100%\" title=\"Shadow\">\n <img src=\"documents/asset/gl/img/geo-no-shadow.png\" width=\"100%\" title=\"No Shadow\">\n</div>\n","default":false},"shadowQuality":{"type":["string"],"description":"<p>阴影的质量。可选<code>&#39;low&#39;</code>, <code>&#39;medium&#39;</code>, <code>&#39;high&#39;</code>, <code>&#39;ultra&#39;</code></p>\n<p>下图是低质量和高质量阴影的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-shadow-low.png\" width=\"100%\" title=\"Low\">\n <img src=\"documents/asset/gl/img/geo-shadow-high.png\" width=\"100%\" title=\"High\">\n</div>\n","default":"'medium'"},"alpha":{"type":["number"],"description":"<p>主光源绕 x 轴,即上下旋转的角度。配合 <a href=\"#grid3D.light.main.beta\">beta</a> 控制光源的方向。</p>\n<p>如下示意图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/light-alpha-beta.png\"></p>\n<p><a href=\"#globe\">globe</a> 组件中可以通过 <a href=\"#globe.light.main.time\">time</a> 控制日光的时间。</p>\n","default":30},"beta":{"type":["number"],"description":"<p>主光源绕 y 轴,即左右旋转的角度。</p>\n","default":30}}},"ambient":{"type":["Object"],"description":"<p>全局的环境光设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>环境光的颜色。</p>\n","default":"#fff"},"intensity":{"type":["number"],"description":"<p>环境光的强度。</p>\n","default":0.2}}},"ambientCubemap":{"type":["Object"],"description":"<p>ambientCubemap 会使用纹理作为光源的环境光, 会为物体提供漫反射和高光反射。可以通过 <a href=\"#grid3D.light.ambientCubemap.diffuseIntensity\">diffuseIntensity</a> 和 <a href=\"#grid3D.light.ambientCubemap.specularIntensity\">specularIntensity</a> 分别设置漫反射强度和高光反射强度。</p>\n","properties":{"texture":{"type":["string"],"description":"<p>环境光纹理的 url,支持使用<code>.hdr</code>格式的 HDR 贴图。可以从 <a href=\"http://www.hdrlabs.com/sibl/archive.html\" target=\"_blank\">http://www.hdrlabs.com/sibl/archive.html</a> 等网站获取 <code>.hdr</code> 的资源。</p>\n<p>例如:</p>\n<pre><code class=\"lang-js\">ambientCubemap: {\n texture: &#39;pisa.hdr&#39;,\n // 解析 hdr 时使用的曝光值\n exposure: 1.0\n}\n</code></pre>\n"},"diffuseIntensity":{"type":["number"],"description":"<p>漫反射的强度。</p>\n","default":0.5},"specularIntensity":{"type":["number"],"description":"<p>高光反射的强度。</p>\n","default":0.5}}}}},"postEffect":{"type":["Object"],"description":"<p>后处理特效的相关配置,后处理特效可以为画面添加高光,景深,环境光遮蔽(SSAO),调色等效果。可以让整个画面更富有质感。</p>\n<p>下面分别是关闭和开启 <code>postEffect</code> 的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/globe-posteffect-disable.png\" width=\"100%\" title=\"Disable\">\n <img src=\"documents/asset/gl/img/globe-posteffect-enable.png\" width=\"100%\" title=\"Enable\">\n</div>\n\n<p>注意在开启 postEffect 的时候默认会开启 <a href=\"#grid3D.temporalSuperSampling\">temporalSuperSampling</a> 在画面静止后持续对画面增强,包括抗锯齿,景深,SSAO,阴影等。</p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启后处理特效,默认关闭。</p>\n","default":false},"bloom":{"type":["Object"],"description":"<p>高光特效。高光特效用来表现很“亮”的颜色,因为传统的 RGB 只能表现<code>0 - 255</code>范围的颜色,所以对于超出这个范围特别“亮”的颜色,会通过这种高光溢出的特效去表现。如下图</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/globe-posteffect-bloom.png\"></p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启光晕特效。</p>\n","default":false},"bloomIntensity":{"type":["number"],"description":"<p>光晕的强度,默认为 0.1</p>\n","default":0.1}}},"depthOfField":{"type":["Object"],"description":"<p>景深效果。景深效果是模拟摄像机的光学成像效果,在对焦的区域相对清晰,原理对焦的区域则会逐渐模糊。</p>\n<p>景深效果可以让观察者几种注意力到对焦的区域,而且让画面的镜头感更强,大景深还能塑造出微距的模型效果。</p>\n<p>下面分别是关闭和开启景深的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-no-dof.png\" width=\"100%\" title=\"Disable\">\n <img src=\"documents/asset/gl/img/geo-dof.png\" width=\"100%\" title=\"Enable\">\n</div>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启景深</p>\n","default":false},"focalDistance":{"type":["boolean"],"description":"<p>初始的焦距,用户可以点击区域自动聚焦。</p>\n","default":50},"focalRange":{"type":["boolean"],"description":"<p>完全聚焦的区域范围,在此范围内的物体时完全清晰的,不会有模糊</p>\n","default":20},"fstop":{"type":["number"],"description":"<p>镜头的<a href=\"https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94\" target=\"_blank\">F值</a>,值越小景深越浅。</p>\n","default":2.8},"blurRadius":{"type":["number"],"description":"<p>焦外的模糊半径</p>\n<p>不同模糊半径的区别:</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-dof-small.png\" width=\"100%\" title=\"blurSize: 3\">\n <img src=\"documents/asset/gl/img/geo-dof-large.png\" width=\"100%\" title=\"blurSize: 10\">\n</div>\n","default":10}}},"screenSpaceAmbientOcclusion":{"type":["Object"],"description":"<p>屏幕空间的环境光遮蔽效果。环境光遮蔽可以让角落,缝隙等大部分光无法到达的区域变暗,是传统的阴影贴图的补充,可以让整个场景更加自然,有层次。</p>\n<p>下面是无 SSAO 和有 SSAO 的对比。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-no-ssao.png\" width=\"100%\" title=\"No SSAO\">\n <img src=\"documents/asset/gl/img/geo-ssao.png\" width=\"100%\" title=\"SSAO\">\n</div>\n"},"SSAO":{"type":["Object"],"description":"<p>同 <a href=\"#grid3D.postEffect.screenSpaceAmbientOcclusion\">screenSpaceAmbientOcclusion</a></p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启环境光遮蔽,默认不开启</p>\n","default":false},"quality":{"type":["string"],"description":"<p>环境光遮蔽的质量,支持<code>&#39;low&#39;</code>, <code>&#39;medium&#39;</code>, <code>&#39;high&#39;</code>, <code>&#39;ultra&#39;</code></p>\n","default":"'medium'"},"radius":{"type":["number"],"description":"<p>环境光遮蔽的采样半径。半径越大效果越自然,但是需要设置较高的<code>&#39;quality&#39;</code>。</p>\n<p>下面是半径值较小与较大之间的区别</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-ssao-small-radius.png\" width=\"100%\" title=\"Radius: 1\">\n <img src=\"documents/asset/gl/img/geo-ssao-large-radius.png\" width=\"100%\" title=\"Radius: 10\">\n</div>\n","default":2},"intensity":{"type":["number"],"description":"<p>环境光遮蔽的强度。值越大颜色越深。</p>\n","default":1}}},"colorCorrection":{"type":["Object"],"description":"<p>颜色纠正和调整。类似 Photoshop 中的 Color Adjustments</p>\n<p>下图同个场景调整为冷色系和暖色系的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/buildings-cold.jpg\" width=\"100%\" title=\"Cold\">\n <img src=\"documents/asset/gl/img/buildings-warm.jpg\" width=\"100%\" title=\"Warm\">\n</div>\n\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启颜色纠正</p>\n","default":true},"lookupTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>颜色查找表,推荐使用。</p>\n<p>颜色查找表是一张像下面这样的纹理图片。</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/lookup.png\"></p>\n<p>这张是基础的查找表图片,你可以直接拿来使用,为了方便将场景色调调整你想要的效果,你可以将场景截图后在 Photoshop 等图像处理软件中调整颜色到想要的效果,然后将相同的调整应用到上面这张查找表的图片上。</p>\n<p>比如调成冷色调后,查找表的纹理图片就会成为下面这样:</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/crispwinter.png\"></p>\n<p>然后那这张纹理图片就作为该配置项的值,就可以得到相同的你在 Photoshop 上的效果了。</p>\n<p>当然如果你只是想得到一张截图,完全不用再这样折腾,但是如果你想在能实时交互的作品中也能方便的调整到理想的色调,这个就非常有用了。</p>\n"},"exposure":{"type":["number"],"description":"<p>画面的曝光。</p>\n","default":0},"brightness":{"type":["number"],"description":"<p>画面的亮度。</p>\n","default":0},"contrast":{"type":["number"],"description":"<p>画面的对比度。</p>\n","default":1},"saturation":{"type":["number"],"description":"<p>画面的饱和度。</p>\n","default":1}}},"FXAA":{"type":["Object"],"description":"<p>在开启 <a href=\"#grid3D.postEffect\">postEffect</a> 后,WebGL 默认的 MSAA 会无法使用。这时候通过 FXAA 可以廉价方便的解决抗锯齿的问题,FXAA 会对一些场景的边缘部分进行模糊从而解决锯齿的问题,这在一些场景上效果还不错,但是在 echarts-gl 中,需要保证很多文字和线条边缘的锐利清晰,因此 FXAA 并不是那么适用。这时候我们可以通过如下设置更高的<code>devicePixelRatio</code>来使用超采样</p>\n<pre><code class=\"lang-js\">var chart = echarts.init(dom, null, {\n devicePixelRatio: 2\n})\n</code></pre>\n<p>但是这种方法对电脑性能有很高的要求,所以更多时候我们建议使用 echarts-gl 中的 <a href=\"#grid3D.temporalSuperSampling\">temporalSuperSampling</a>,在画面静止后会持续分帧对一个像素多次抖动采样,从而达到超采样抗锯齿的效果。</p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启 FXAA,默认关闭。</p>\n","default":false}}}}},"temporalSuperSampling":{"type":["Object"],"description":"<p>分帧超采样。在开启 <a href=\"#grid3D.postEffect\">postEffect</a> 后,WebGL 默认的 MSAA 会无法使用,所以我们需要自己解决锯齿的问题。</p>\n<p>分帧超采样就是用来解决锯齿的问题,它在画面静止后会持续分帧对一个像素多次抖动采样,从而达到抗锯齿的效果。而且在这个分帧采样的过程中,echarts-gl 也会对 <a href=\"#grid3D.postEffect\">postEffect</a> 中一些需要采样保证效果的特效,例如 <a href=\"#grid3D.postEffect.SSAO\">SSAO</a>, <a href=\"#grid3D.postEffect.depthOfField\">景深</a>,以及阴影进行渐进增强。</p>\n<p>下面是未开启和开启<code>temporalSuperSampling</code>的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 800px;\">\n <img src=\"documents/asset/gl/img/surface-no-taa.png\" width=\"100%\" title=\"No AA\">\n <img src=\"documents/asset/gl/img/surface-taa.png\" width=\"100%\" title=\"AA\">\n</div>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启分帧超采样。默认在开启 <a href=\"#grid3D.postEffect\">postEffect</a> 后也会同步开启。</p>\n","default":"'auto'"}}},"viewControl":{"type":["Object"],"description":"<p><code>viewControl</code>用于鼠标的旋转,缩放等视角控制。</p>\n","properties":{"projection":{"type":["string"],"description":"<p>投影方式,默认为透视投影<code>&#39;perspective&#39;</code>,也支持设置为正交投影<code>&#39;orthographic&#39;</code>。</p>\n","default":"perspective"},"autoRotate":{"type":["boolean"],"description":"<p>是否开启视角绕物体的自动旋转查看。</p>\n","default":false},"autoRotateDirection":{"type":["string"],"description":"<p>物体自转的方向。默认是 <code>&#39;cw&#39;</code> 也就是从上往下看是顺时针方向,也可以取 <code>&#39;ccw&#39;</code>,既从上往下看为逆时针方向。</p>\n","default":"cw"},"autoRotateSpeed":{"type":["number"],"description":"<p>物体自转的速度。单位为<code>角度 / 秒</code>,默认为<code>10</code> ,也就是<code>36</code>秒转一圈。</p>\n","default":10},"autoRotateAfterStill":{"type":["number"],"description":"<p>在鼠标静止操作后恢复自动旋转的时间间隔。在开启 <a href=\"#grid3D.viewControl.autoRotate\">autoRotate</a> 后有效。</p>\n","default":3},"damping":{"type":["number"],"description":"<p>鼠标进行旋转,缩放等操作时的迟滞因子,在大于 0 的时候鼠标在停止操作后,视角仍会因为一定的惯性继续运动(旋转和缩放)。</p>\n","default":0.8},"rotateSensitivity":{"type":["number","Array"],"description":"<p>旋转操作的灵敏度,值越大越灵敏。支持使用数组分别设置横向和纵向的旋转灵敏度。</p>\n<p>默认为``</p>\n<p>设置为<code>0</code>后无法旋转。</p>\n<pre><code class=\"lang-js\">// 无法旋转\nrotateSensitivity: 0\n// 只能横向旋转\nrotateSensitivity: [1, 0]\n// 只能纵向旋转\nrotateSensitivity: [0, 1]\n</code></pre>\n","default":1},"zoomSensitivity":{"type":["number"],"description":"<p>缩放操作的灵敏度,值越大越灵敏。默认为``</p>\n<p>设置为<code>0</code>后无法缩放。</p>\n","default":1},"panSensitivity":{"type":["number"],"description":"<p>平移操作的灵敏度,值越大越灵敏。支持使用数组分别设置横向和纵向的平移灵敏度</p>\n<p>默认为``</p>\n<p>设置为<code>0</code>后无法平移。</p>\n","default":1},"panMouseButton":{"type":["string"],"description":"<p>平移操作使用的鼠标按键,支持:</p>\n<ul>\n<li><p><code>&#39;left&#39;</code> 鼠标左键(默认)</p>\n</li>\n<li><p><code>&#39;middle&#39;</code> 鼠标中键</p>\n</li>\n<li><p><code>&#39;right&#39;</code> 鼠标右键</p>\n</li>\n</ul>\n<p>注意:如果设置为鼠标右键则会阻止默认的右键菜单。</p>\n","default":"left"},"rotateMouseButton":{"type":["string"],"description":"<p>旋转操作使用的鼠标按键,支持:</p>\n<ul>\n<li><p><code>&#39;left&#39;</code> 鼠标左键</p>\n</li>\n<li><p><code>&#39;middle&#39;</code> 鼠标中键(默认)</p>\n</li>\n<li><p><code>&#39;right&#39;</code> 鼠标右键</p>\n</li>\n</ul>\n<p>注意:如果设置为鼠标右键则会阻止默认的右键菜单。</p>\n","default":"middle"},"distance":{"type":["number"],"description":"<p>默认视角距离主体的距离,对于 <a href=\"#globe\">globe</a> 来说是距离地球表面的距离,对于 <a href=\"#grid3D\">grid3D</a> 和 <a href=\"#geo3D\">geo3D</a> 等其它组件来说是距离中心原点的距离。在 <a href=\"#grid3D.viewControl.projection\">projection</a> 为<code>&#39;perspective&#39;</code>的时候有效。</p>\n","default":200},"minDistance":{"type":["number"],"description":"<p>视角通过鼠标控制能拉近到主体的最小距离。在 <a href=\"#grid3D.viewControl.projection\">projection</a> 为<code>&#39;perspective&#39;</code>的时候有效。</p>\n","default":40},"maxDistance":{"type":["number"],"description":"<p>视角通过鼠标控制能拉远到主体的最大距离。在 <a href=\"#grid3D.viewControl.projection\">projection</a> 为<code>&#39;perspective&#39;</code>的时候有效。</p>\n","default":400},"orthographicSize":{"type":["number"],"description":"<p>正交投影的大小。在 <a href=\"#grid3D.viewControl.projection\">projection</a> 为<code>&#39;orthographic&#39;</code>的时候有效。</p>\n","default":200},"maxOrthographicSize":{"type":["number"],"description":"<p>正交投影缩放的最大值。在 <a href=\"#grid3D.viewControl.projection\">projection</a> 为<code>&#39;orthographic&#39;</code>的时候有效。</p>\n","default":40},"minOrthographicSize":{"type":["number"],"description":"<p>正交投影缩放的最小值。在 <a href=\"#grid3D.viewControl.projection\">projection</a> 为<code>&#39;orthographic&#39;</code>的时候有效。</p>\n","default":400},"alpha":{"type":["number"],"description":"<p>视角绕 x 轴,即上下旋转的角度。配合 <a href=\"#grid3D.light.main.beta\">beta</a> 可以控制视角的方向。</p>\n<p>如下示意图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/view-alpha-beta.png\"></p>\n","default":20},"beta":{"type":["number"],"description":"<p>视角绕 y 轴,即左右旋转的角度。</p>\n","default":40},"center":{"type":["Array"],"description":"<p>视角中心点,旋转也会围绕这个中心点旋转,默认为<code>[0,0,0]</code>。</p>\n"},"minAlpha":{"type":["number"],"description":"<p>上下旋转的最小 alpha 值。即视角能旋转到达最上面的角度。</p>\n","default":-90},"maxAlpha":{"type":["number"],"description":"<p>上下旋转的最大 alpha 值。即视角能旋转到达最下面的角度。</p>\n","default":90},"minBeta":{"type":["number"],"description":"<p>左右旋转的最小 beta 值。即视角能旋转到达最左的角度。</p>\n","default":null},"maxBeta":{"type":["number"],"description":"<p>左右旋转的最大 beta 值。即视角能旋转到达最右的角度。</p>\n","default":null},"animation":{"type":["boolean"],"description":"<p>是否开启动画。</p>\n","default":true},"animationDurationUpdate":{"type":["number"],"description":"<p>过渡动画的时长。</p>\n","default":1000},"animationEasingUpdate":{"type":["string"],"description":"<p>过渡动画的缓动效果。</p>\n","default":"cubicInOut"}}},"zlevel":{"type":["number"],"description":"<p>组件所在的层。</p>\n<p><code>zlevel</code>用于 Canvas 分层,不同<code>zlevel</code>值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁(例如有动画)的组件设置成一个单独的<code>zlevel</code>。需要注意的是过多的 Canvas 会引起内存开销的增大,在手机端上需要谨慎使用以防崩溃。</p>\n<p><code>zlevel</code> 大的 Canvas 会放在 <code>zlevel</code> 小的 Canvas 的上面。</p>\n<p><strong>注:</strong> echarts-gl 中组件的层需要跟 echarts 中组件的层分开。同一个 zlevel 不能同时用于 WebGL 和 Canvas 的绘制。</p>\n","default":-10},"left":{"type":["string","number"],"description":"<p>组件的视图离容器左侧的距离。</p>\n<p><code>left</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比,也可以是 <code>&#39;left&#39;</code>, <code>&#39;center&#39;</code>, <code>&#39;right&#39;</code>。</p>\n<p>如果 <code>left</code> 的值为<code>&#39;left&#39;</code>, <code>&#39;center&#39;</code>, <code>&#39;right&#39;</code>,组件会根据相应的位置自动对齐。</p>\n","default":"auto"},"top":{"type":["string","number"],"description":"<p>组件的视图离容器上侧的距离。</p>\n<p><code>top</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比,也可以是 <code>&#39;top&#39;</code>, <code>&#39;middle&#39;</code>, <code>&#39;bottom&#39;</code>。</p>\n<p>如果 <code>top</code> 的值为<code>&#39;top&#39;</code>, <code>&#39;middle&#39;</code>, <code>&#39;bottom&#39;</code>,组件会根据相应的位置自动对齐。</p>\n","default":"auto"},"right":{"type":["string","number"],"description":"<p>组件的视图离容器右侧的距离。</p>\n<p><code>right</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比。</p>\n<p>默认自适应。</p>\n","default":"auto"},"bottom":{"type":["string","number"],"description":"<p>组件的视图离容器下侧的距离。</p>\n<p><code>bottom</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比。</p>\n<p>默认自适应。</p>\n","default":"auto"},"width":{"type":["string","number"],"description":"<p>组件的视图宽度。</p>\n","default":"auto"},"height":{"type":["string","number"],"description":"<p>组件的视图高度。</p>\n","default":"auto"}}},"xAxis3D":{"type":["Object"],"description":"<p>三维笛卡尔坐标系中的 x 轴。可以通过 <a href=\"#xAxis3D.grid3DIndex\">grid3DIndex</a> 索引所在的<a href=\"#grid3D\">三维笛卡尔坐标系</a>。</p>\n<p>在<code>xAxis3D</code>下设置的 <a href=\"#xAxis3D.axisLine\">axisLine</a>, <a href=\"#xAxis3D.axisTick\">axisTick</a>, <a href=\"#xAxis3D.axisLabel\">axisLabel</a>, <a href=\"#xAxis3D.splitLine\">splitLine</a>, <a href=\"#xAxis3D.splitArea\">splitArea</a>, <a href=\"#xAxis3D.axisPointer\">axisPointer</a> 会覆盖 <a href=\"#grid3D\">grid3D</a> 下的相应配置项。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示 x 轴。</p>\n"},"name":{"type":["string"],"description":"<p>坐标轴名称。</p>\n","default":"'X'"},"grid3DIndex":{"type":["number"],"description":"<p>坐标轴使用的 <a href=\"#grid3D\">grid3D</a> 组件的索引。默认使用第一个 <a href=\"#grid3D\">grid3D</a> 组件。</p>\n","default":0},"nameTextStyle":{"type":["Object"],"description":"<p>坐标轴名称的显示样式。</p>\n","properties":{"color":{"type":["Color"],"description":"<p>坐标轴名称的颜色,默认取 <a href=\"#xAxis3D.axisLine.lineStyle.color\">axisLine.lineStyle.color</a>。</p>\n"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":16},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}},"nameGap":{"type":["number"],"description":"<p>坐标轴名称与轴线之间的距离,注意是三维空间的距离而非屏幕像素值。</p>\n","default":20},"type":{"type":["string"],"description":"<p>坐标轴类型。</p>\n<p>可选:</p>\n<ul>\n<li><p><code>&#39;value&#39;</code>\n 数值轴,适用于连续数据。</p>\n</li>\n<li><p><code>&#39;category&#39;</code>\n 类目轴,适用于离散的类目数据,为该类型时必须通过 <a href=\"#xAxis3D.data\">data</a> 设置类目数据。</p>\n</li>\n<li><p><code>&#39;time&#39;</code>\n 时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同,例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度。</p>\n</li>\n<li><p><code>&#39;log&#39;</code>\n 对数轴。适用于对数数据。</p>\n</li>\n</ul>\n","default":"value"},"min":{"type":["number","string"],"description":"<p>坐标轴刻度最小值。</p>\n<p>可以设置成特殊值 <code>&#39;dataMin&#39;</code>,此时取数据在该轴上的最小值作为最小刻度。</p>\n<p>不设置时会自动计算最小值保证坐标轴刻度的均匀分布。</p>\n<p>在类目轴中,也可以设置为类目的序数(如类目轴 <code>data: [&#39;类A&#39;, &#39;类B&#39;, &#39;类C&#39;]</code> 中,序数 <code>2</code> 表示 <code>&#39;类C&#39;</code>。也可以设置为负数,如 <code>-3</code>)。</p>\n","default":null},"max":{"type":["number","string"],"description":"<p>坐标轴刻度最大值。</p>\n<p>可以设置成特殊值 <code>&#39;dataMax&#39;</code>,此时取数据在该轴上的最大值作为最大刻度。</p>\n<p>不设置时会自动计算最大值保证坐标轴刻度的均匀分布。</p>\n<p>在类目轴中,也可以设置为类目的序数(如类目轴 <code>data: [&#39;类A&#39;, &#39;类B&#39;, &#39;类C&#39;]</code> 中,序数 <code>2</code> 表示 <code>&#39;类C&#39;</code>。也可以设置为负数,如 <code>-3</code>)。</p>\n","default":null},"scale":{"type":["boolean"],"description":"<p>只在数值轴中(<a href=\"#xAxis3D.type\">type</a>: &#39;value&#39;)有效。</p>\n<p>是否是脱离 0 值比例。设置成 <code>true</code> 后坐标刻度不会强制包含零刻度。在双数值轴的散点图中比较有用。</p>\n<p>在设置 <a href=\"#xAxis3D.min\">min</a> 和 <a href=\"#xAxis3D.max\">max</a> 之后该配置项无效。</p>\n","default":false},"splitNumber":{"type":["number"],"description":"<p>坐标轴的分割段数,需要注意的是这个分割段数只是个预估值,最后实际显示的段数会在这个基础上根据分割后坐标轴刻度显示的易读程度作调整。</p>\n<p>在类目轴中无效。</p>\n","default":5},"minInterval":{"type":["number"],"description":"<p>自动计算的坐标轴最小间隔大小。</p>\n<p>例如可以设置成<code>1</code>保证坐标轴分割刻度显示成整数。</p>\n<pre><code class=\"lang-js\">{\n minInterval: 1\n}\n</code></pre>\n<p>只在数值轴中(<a href=\"#xAxis3D.type\">type</a>: &#39;value&#39;)有效。</p>\n","default":0},"interval":{"type":["number"],"description":"<p>强制设置坐标轴分割间隔。</p>\n<p>因为 <a href=\"#xAxis3D.splitNumber\">splitNumber</a> 是预估的值,实际根据策略计算出来的刻度可能无法达到想要的效果,这时候可以使用 interval 配合 <a href=\"#xAxis3D.min\">min</a>、<a href=\"#xAxis3D.max\">max</a> 强制设定刻度划分,一般不建议使用。</p>\n<p>无法在类目轴中使用。在时间轴(<a href=\"#xAxis3D.type\">type</a>: &#39;time&#39;)中需要传时间戳,在对数轴(<a href=\"#xAxis3D.type\">type</a>: &#39;log&#39;)中需要传指数值。</p>\n"},"logBase":{"type":["number"],"description":"<p>对数轴的底数,只在对数轴中(<a href=\"#xAxis3D.type\">type</a>: &#39;log&#39;)有效。</p>\n","default":10},"data":{"type":["Array"],"description":"<p>类目数据,在类目轴(<a href=\"#xAxis3D.type\">type</a>: &#39;category&#39;)中有效。</p>\n<p>如果设置了 <a href=\"#xAxis3D.type\">type</a> 是 <code>&#39;category&#39;</code>,但没有设置 <code>axis.data</code>,则 <code>axis.data</code> 的内容会自动从 <a href=\"#series.data\">series.data</a> 中获取,这会比较方便。不过注意,<code>axis.data</code> 指明的是 <code>&#39;category&#39;</code> 轴的取值范围。如果不指定而是从 <a href=\"#series.data\">series.data</a> 中获取,那么只能获取到 <a href=\"#series.data\">series.data</a> 中出现的值。比如说,假如 <a href=\"#series.data\">series.data</a> 为空时,就什么也获取不到。</p>\n<p>示例:</p>\n<pre><code class=\"lang-js\">// 所有类目名称列表\ndata: [&#39;周一&#39;, &#39;周二&#39;, &#39;周三&#39;, &#39;周四&#39;, &#39;周五&#39;, &#39;周六&#39;, &#39;周日&#39;]\n// 每一项也可以是具体的配置项,此时取配置项中的 `value` 为类目名\ndata: [{\n value: &#39;周一&#39;,\n // 突出周一\n textStyle: {\n fontSize: 20,\n color: &#39;red&#39;\n }\n}, &#39;周二&#39;, &#39;周三&#39;, &#39;周四&#39;, &#39;周五&#39;, &#39;周六&#39;, &#39;周日&#39;]\n</code></pre>\n","items":{"type":"Object","properties":{"value":{"type":["string"],"description":"<p>单个类目名称。</p>\n"},"textStyle":{"type":["Object"],"description":"<p>类目标签的文字样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"\"#fff\""},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":12},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}}},"axisLine":{"type":["Object"],"description":"<p>坐标轴轴线相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴轴线。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"'#333'"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":2}}}}},"axisLabel":{"type":["Object"],"description":"<p>坐标轴刻度标签的相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示刻度标签。</p>\n","default":true},"margin":{"type":["number"],"description":"<p>刻度标签与轴线之间的距离。</p>\n<p><strong>注意:</strong> 这个距离是三维空间而非屏幕空间的。</p>\n","default":8},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"formatter":{"type":["string","Function"],"description":"","default":null},"textStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["Color","Function"],"description":"<p>刻度标签文字的颜色,默认取 <a href=\"#.axisLine.lineStyle.color\">axisLine.lineStyle.color</a>。支持回调函数,格式如下</p>\n<pre><code class=\"lang-js\">(val: string) =&gt; Color\n</code></pre>\n<p>参数是标签的文本,返回颜色值,如下示例:</p>\n<pre><code class=\"lang-js\">textStyle: {\n color: function (value, index) {\n return value &gt;= 0 ? &#39;green&#39; : &#39;red&#39;;\n }\n}\n</code></pre>\n"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":12},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n<!-- Overwrite color -->","default":"normal"}}}}},"axisTick":{"type":["Object"],"description":"<p>坐标轴刻度相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴刻度。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。默认同 <a href=\"#.axisLabel.interval\">axisLabel.interval</a> 一样。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"length":{"type":["number"],"description":"<p>坐标轴刻度的长度。</p>\n","default":5},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["Color"],"description":"<p>刻度线的颜色,默认取 <a href=\"#.axisLine.lineStyle.color\">axisLine.lineStyle.color</a>。</p>\n"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n<!-- Overwrite color -->","default":1}}}}},"splitLine":{"type":["Object"],"description":"<p>坐标轴轴线相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴轴线。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"'#333'"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":2}}}}},"splitArea":{"type":["Object"],"description":"<p>坐标轴在 <a href=\"#grid3D\">grid3D</a> 的平面上的分隔区域。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示分隔区域。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴分隔区域的显示间隔,在类目轴中有效。默认同 <a href=\"#.axisLabel.interval\">axisLabel.interval</a> 一样。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"areaStyle":{"type":["Object"],"description":"<p>分隔区域的样式设置。</p>\n","properties":{"color":{"type":["Array"],"description":"<p>分隔区域颜色。分隔区域会按数组中颜色的顺序依次循环设置颜色。默认是一个深浅的间隔色。</p>\n","default":"['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)']"}}}}},"axisPointer":{"type":["Object"],"description":"<p>坐标轴指示线。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴指示线。</p>\n","default":true},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"'rgba(0, 0, 0, 0.8)'"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":1}}},"label":{"type":["Object"],"description":"<p>指示线标签。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示指示线标签。默认数值轴显示,类目轴不显示。</p>\n","default":true},"formatter":{"type":["Function"],"description":"<p>标签格式器,函数第一个参数是当前坐标轴的数值,第二个参数是所有坐标轴的数值数组</p>\n<pre><code class=\"lang-js\">(value: number, valueAll: Array) =&gt; string\n</code></pre>\n"},"margin":{"type":["number"],"description":"<p>标签距离坐标轴的距离。同刻度标签一样,这个距离是三维空间而非屏幕像素。</p>\n"},"textStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"\"#fff\""},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":16},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}}}}}},"yAxis3D":{"type":["Object"],"description":"<p>三维笛卡尔坐标系中的 y 轴。可以通过 <a href=\"#yAxis3D.grid3DIndex\">grid3DIndex</a> 索引所在的<a href=\"#grid3D\">三维笛卡尔坐标系</a>。</p>\n<p>在<code>yAxis3D</code>下设置的 <a href=\"#yAxis3D.axisLine\">axisLine</a>, <a href=\"#yAxis3D.axisTick\">axisTick</a>, <a href=\"#yAxis3D.axisLabel\">axisLabel</a>, <a href=\"#yAxis3D.splitLine\">splitLine</a>, <a href=\"#yAxis3D.splitArea\">splitArea</a>, <a href=\"#yAxis3D.axisPointer\">axisPointer</a> 会覆盖 <a href=\"#grid3D\">grid3D</a> 下的相应配置项。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示 y 轴。</p>\n"},"name":{"type":["string"],"description":"<p>坐标轴名称。</p>\n","default":"'Y'"},"grid3DIndex":{"type":["number"],"description":"<p>坐标轴使用的 <a href=\"#grid3D\">grid3D</a> 组件的索引。默认使用第一个 <a href=\"#grid3D\">grid3D</a> 组件。</p>\n","default":0},"nameTextStyle":{"type":["Object"],"description":"<p>坐标轴名称的显示样式。</p>\n","properties":{"color":{"type":["Color"],"description":"<p>坐标轴名称的颜色,默认取 <a href=\"#yAxis3D.axisLine.lineStyle.color\">axisLine.lineStyle.color</a>。</p>\n"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":16},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}},"nameGap":{"type":["number"],"description":"<p>坐标轴名称与轴线之间的距离,注意是三维空间的距离而非屏幕像素值。</p>\n","default":20},"type":{"type":["string"],"description":"<p>坐标轴类型。</p>\n<p>可选:</p>\n<ul>\n<li><p><code>&#39;value&#39;</code>\n 数值轴,适用于连续数据。</p>\n</li>\n<li><p><code>&#39;category&#39;</code>\n 类目轴,适用于离散的类目数据,为该类型时必须通过 <a href=\"#yAxis3D.data\">data</a> 设置类目数据。</p>\n</li>\n<li><p><code>&#39;time&#39;</code>\n 时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同,例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度。</p>\n</li>\n<li><p><code>&#39;log&#39;</code>\n 对数轴。适用于对数数据。</p>\n</li>\n</ul>\n","default":"value"},"min":{"type":["number","string"],"description":"<p>坐标轴刻度最小值。</p>\n<p>可以设置成特殊值 <code>&#39;dataMin&#39;</code>,此时取数据在该轴上的最小值作为最小刻度。</p>\n<p>不设置时会自动计算最小值保证坐标轴刻度的均匀分布。</p>\n<p>在类目轴中,也可以设置为类目的序数(如类目轴 <code>data: [&#39;类A&#39;, &#39;类B&#39;, &#39;类C&#39;]</code> 中,序数 <code>2</code> 表示 <code>&#39;类C&#39;</code>。也可以设置为负数,如 <code>-3</code>)。</p>\n","default":null},"max":{"type":["number","string"],"description":"<p>坐标轴刻度最大值。</p>\n<p>可以设置成特殊值 <code>&#39;dataMax&#39;</code>,此时取数据在该轴上的最大值作为最大刻度。</p>\n<p>不设置时会自动计算最大值保证坐标轴刻度的均匀分布。</p>\n<p>在类目轴中,也可以设置为类目的序数(如类目轴 <code>data: [&#39;类A&#39;, &#39;类B&#39;, &#39;类C&#39;]</code> 中,序数 <code>2</code> 表示 <code>&#39;类C&#39;</code>。也可以设置为负数,如 <code>-3</code>)。</p>\n","default":null},"scale":{"type":["boolean"],"description":"<p>只在数值轴中(<a href=\"#yAxis3D.type\">type</a>: &#39;value&#39;)有效。</p>\n<p>是否是脱离 0 值比例。设置成 <code>true</code> 后坐标刻度不会强制包含零刻度。在双数值轴的散点图中比较有用。</p>\n<p>在设置 <a href=\"#yAxis3D.min\">min</a> 和 <a href=\"#yAxis3D.max\">max</a> 之后该配置项无效。</p>\n","default":false},"splitNumber":{"type":["number"],"description":"<p>坐标轴的分割段数,需要注意的是这个分割段数只是个预估值,最后实际显示的段数会在这个基础上根据分割后坐标轴刻度显示的易读程度作调整。</p>\n<p>在类目轴中无效。</p>\n","default":5},"minInterval":{"type":["number"],"description":"<p>自动计算的坐标轴最小间隔大小。</p>\n<p>例如可以设置成<code>1</code>保证坐标轴分割刻度显示成整数。</p>\n<pre><code class=\"lang-js\">{\n minInterval: 1\n}\n</code></pre>\n<p>只在数值轴中(<a href=\"#yAxis3D.type\">type</a>: &#39;value&#39;)有效。</p>\n","default":0},"interval":{"type":["number"],"description":"<p>强制设置坐标轴分割间隔。</p>\n<p>因为 <a href=\"#yAxis3D.splitNumber\">splitNumber</a> 是预估的值,实际根据策略计算出来的刻度可能无法达到想要的效果,这时候可以使用 interval 配合 <a href=\"#yAxis3D.min\">min</a>、<a href=\"#yAxis3D.max\">max</a> 强制设定刻度划分,一般不建议使用。</p>\n<p>无法在类目轴中使用。在时间轴(<a href=\"#yAxis3D.type\">type</a>: &#39;time&#39;)中需要传时间戳,在对数轴(<a href=\"#yAxis3D.type\">type</a>: &#39;log&#39;)中需要传指数值。</p>\n"},"logBase":{"type":["number"],"description":"<p>对数轴的底数,只在对数轴中(<a href=\"#yAxis3D.type\">type</a>: &#39;log&#39;)有效。</p>\n","default":10},"data":{"type":["Array"],"description":"<p>类目数据,在类目轴(<a href=\"#yAxis3D.type\">type</a>: &#39;category&#39;)中有效。</p>\n<p>如果设置了 <a href=\"#yAxis3D.type\">type</a> 是 <code>&#39;category&#39;</code>,但没有设置 <code>axis.data</code>,则 <code>axis.data</code> 的内容会自动从 <a href=\"#series.data\">series.data</a> 中获取,这会比较方便。不过注意,<code>axis.data</code> 指明的是 <code>&#39;category&#39;</code> 轴的取值范围。如果不指定而是从 <a href=\"#series.data\">series.data</a> 中获取,那么只能获取到 <a href=\"#series.data\">series.data</a> 中出现的值。比如说,假如 <a href=\"#series.data\">series.data</a> 为空时,就什么也获取不到。</p>\n<p>示例:</p>\n<pre><code class=\"lang-js\">// 所有类目名称列表\ndata: [&#39;周一&#39;, &#39;周二&#39;, &#39;周三&#39;, &#39;周四&#39;, &#39;周五&#39;, &#39;周六&#39;, &#39;周日&#39;]\n// 每一项也可以是具体的配置项,此时取配置项中的 `value` 为类目名\ndata: [{\n value: &#39;周一&#39;,\n // 突出周一\n textStyle: {\n fontSize: 20,\n color: &#39;red&#39;\n }\n}, &#39;周二&#39;, &#39;周三&#39;, &#39;周四&#39;, &#39;周五&#39;, &#39;周六&#39;, &#39;周日&#39;]\n</code></pre>\n","items":{"type":"Object","properties":{"value":{"type":["string"],"description":"<p>单个类目名称。</p>\n"},"textStyle":{"type":["Object"],"description":"<p>类目标签的文字样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"\"#fff\""},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":12},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}}},"axisLine":{"type":["Object"],"description":"<p>坐标轴轴线相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴轴线。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"'#333'"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":2}}}}},"axisLabel":{"type":["Object"],"description":"<p>坐标轴刻度标签的相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示刻度标签。</p>\n","default":true},"margin":{"type":["number"],"description":"<p>刻度标签与轴线之间的距离。</p>\n<p><strong>注意:</strong> 这个距离是三维空间而非屏幕空间的。</p>\n","default":8},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"formatter":{"type":["string","Function"],"description":"","default":null},"textStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["Color","Function"],"description":"<p>刻度标签文字的颜色,默认取 <a href=\"#.axisLine.lineStyle.color\">axisLine.lineStyle.color</a>。支持回调函数,格式如下</p>\n<pre><code class=\"lang-js\">(val: string) =&gt; Color\n</code></pre>\n<p>参数是标签的文本,返回颜色值,如下示例:</p>\n<pre><code class=\"lang-js\">textStyle: {\n color: function (value, index) {\n return value &gt;= 0 ? &#39;green&#39; : &#39;red&#39;;\n }\n}\n</code></pre>\n"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":12},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n<!-- Overwrite color -->","default":"normal"}}}}},"axisTick":{"type":["Object"],"description":"<p>坐标轴刻度相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴刻度。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。默认同 <a href=\"#.axisLabel.interval\">axisLabel.interval</a> 一样。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"length":{"type":["number"],"description":"<p>坐标轴刻度的长度。</p>\n","default":5},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["Color"],"description":"<p>刻度线的颜色,默认取 <a href=\"#.axisLine.lineStyle.color\">axisLine.lineStyle.color</a>。</p>\n"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n<!-- Overwrite color -->","default":1}}}}},"splitLine":{"type":["Object"],"description":"<p>坐标轴轴线相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴轴线。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"'#333'"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":2}}}}},"splitArea":{"type":["Object"],"description":"<p>坐标轴在 <a href=\"#grid3D\">grid3D</a> 的平面上的分隔区域。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示分隔区域。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴分隔区域的显示间隔,在类目轴中有效。默认同 <a href=\"#.axisLabel.interval\">axisLabel.interval</a> 一样。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"areaStyle":{"type":["Object"],"description":"<p>分隔区域的样式设置。</p>\n","properties":{"color":{"type":["Array"],"description":"<p>分隔区域颜色。分隔区域会按数组中颜色的顺序依次循环设置颜色。默认是一个深浅的间隔色。</p>\n","default":"['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)']"}}}}},"axisPointer":{"type":["Object"],"description":"<p>坐标轴指示线。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴指示线。</p>\n","default":true},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"'rgba(0, 0, 0, 0.8)'"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":1}}},"label":{"type":["Object"],"description":"<p>指示线标签。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示指示线标签。默认数值轴显示,类目轴不显示。</p>\n","default":true},"formatter":{"type":["Function"],"description":"<p>标签格式器,函数第一个参数是当前坐标轴的数值,第二个参数是所有坐标轴的数值数组</p>\n<pre><code class=\"lang-js\">(value: number, valueAll: Array) =&gt; string\n</code></pre>\n"},"margin":{"type":["number"],"description":"<p>标签距离坐标轴的距离。同刻度标签一样,这个距离是三维空间而非屏幕像素。</p>\n"},"textStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"\"#fff\""},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":16},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}}}}}},"zAxis3D":{"type":["Object"],"description":"<p>三维笛卡尔坐标系中的 z 轴。可以通过 <a href=\"#zAxis3D.grid3DIndex\">grid3DIndex</a> 索引所在的<a href=\"#grid3D\">三维笛卡尔坐标系</a>。</p>\n<p>在<code>zAxis3D</code>下设置的 <a href=\"#zAxis3D.axisLine\">axisLine</a>, <a href=\"#zAxis3D.axisTick\">axisTick</a>, <a href=\"#zAxis3D.axisLabel\">axisLabel</a>, <a href=\"#zAxis3D.splitLine\">splitLine</a>, <a href=\"#zAxis3D.splitArea\">splitArea</a>, <a href=\"#zAxis3D.axisPointer\">axisPointer</a> 会覆盖 <a href=\"#grid3D\">grid3D</a> 下的相应配置项。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示 z 轴。</p>\n"},"name":{"type":["string"],"description":"<p>坐标轴名称。</p>\n","default":"'Z'"},"grid3DIndex":{"type":["number"],"description":"<p>坐标轴使用的 <a href=\"#grid3D\">grid3D</a> 组件的索引。默认使用第一个 <a href=\"#grid3D\">grid3D</a> 组件。</p>\n","default":0},"nameTextStyle":{"type":["Object"],"description":"<p>坐标轴名称的显示样式。</p>\n","properties":{"color":{"type":["Color"],"description":"<p>坐标轴名称的颜色,默认取 <a href=\"#zAxis3D.axisLine.lineStyle.color\">axisLine.lineStyle.color</a>。</p>\n"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":16},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}},"nameGap":{"type":["number"],"description":"<p>坐标轴名称与轴线之间的距离,注意是三维空间的距离而非屏幕像素值。</p>\n","default":20},"type":{"type":["string"],"description":"<p>坐标轴类型。</p>\n<p>可选:</p>\n<ul>\n<li><p><code>&#39;value&#39;</code>\n 数值轴,适用于连续数据。</p>\n</li>\n<li><p><code>&#39;category&#39;</code>\n 类目轴,适用于离散的类目数据,为该类型时必须通过 <a href=\"#zAxis3D.data\">data</a> 设置类目数据。</p>\n</li>\n<li><p><code>&#39;time&#39;</code>\n 时间轴,适用于连续的时序数据,与数值轴相比时间轴带有时间的格式化,在刻度计算上也有所不同,例如会根据跨度的范围来决定使用月,星期,日还是小时范围的刻度。</p>\n</li>\n<li><p><code>&#39;log&#39;</code>\n 对数轴。适用于对数数据。</p>\n</li>\n</ul>\n","default":"value"},"min":{"type":["number","string"],"description":"<p>坐标轴刻度最小值。</p>\n<p>可以设置成特殊值 <code>&#39;dataMin&#39;</code>,此时取数据在该轴上的最小值作为最小刻度。</p>\n<p>不设置时会自动计算最小值保证坐标轴刻度的均匀分布。</p>\n<p>在类目轴中,也可以设置为类目的序数(如类目轴 <code>data: [&#39;类A&#39;, &#39;类B&#39;, &#39;类C&#39;]</code> 中,序数 <code>2</code> 表示 <code>&#39;类C&#39;</code>。也可以设置为负数,如 <code>-3</code>)。</p>\n","default":null},"max":{"type":["number","string"],"description":"<p>坐标轴刻度最大值。</p>\n<p>可以设置成特殊值 <code>&#39;dataMax&#39;</code>,此时取数据在该轴上的最大值作为最大刻度。</p>\n<p>不设置时会自动计算最大值保证坐标轴刻度的均匀分布。</p>\n<p>在类目轴中,也可以设置为类目的序数(如类目轴 <code>data: [&#39;类A&#39;, &#39;类B&#39;, &#39;类C&#39;]</code> 中,序数 <code>2</code> 表示 <code>&#39;类C&#39;</code>。也可以设置为负数,如 <code>-3</code>)。</p>\n","default":null},"scale":{"type":["boolean"],"description":"<p>只在数值轴中(<a href=\"#zAxis3D.type\">type</a>: &#39;value&#39;)有效。</p>\n<p>是否是脱离 0 值比例。设置成 <code>true</code> 后坐标刻度不会强制包含零刻度。在双数值轴的散点图中比较有用。</p>\n<p>在设置 <a href=\"#zAxis3D.min\">min</a> 和 <a href=\"#zAxis3D.max\">max</a> 之后该配置项无效。</p>\n","default":false},"splitNumber":{"type":["number"],"description":"<p>坐标轴的分割段数,需要注意的是这个分割段数只是个预估值,最后实际显示的段数会在这个基础上根据分割后坐标轴刻度显示的易读程度作调整。</p>\n<p>在类目轴中无效。</p>\n","default":5},"minInterval":{"type":["number"],"description":"<p>自动计算的坐标轴最小间隔大小。</p>\n<p>例如可以设置成<code>1</code>保证坐标轴分割刻度显示成整数。</p>\n<pre><code class=\"lang-js\">{\n minInterval: 1\n}\n</code></pre>\n<p>只在数值轴中(<a href=\"#zAxis3D.type\">type</a>: &#39;value&#39;)有效。</p>\n","default":0},"interval":{"type":["number"],"description":"<p>强制设置坐标轴分割间隔。</p>\n<p>因为 <a href=\"#zAxis3D.splitNumber\">splitNumber</a> 是预估的值,实际根据策略计算出来的刻度可能无法达到想要的效果,这时候可以使用 interval 配合 <a href=\"#zAxis3D.min\">min</a>、<a href=\"#zAxis3D.max\">max</a> 强制设定刻度划分,一般不建议使用。</p>\n<p>无法在类目轴中使用。在时间轴(<a href=\"#zAxis3D.type\">type</a>: &#39;time&#39;)中需要传时间戳,在对数轴(<a href=\"#zAxis3D.type\">type</a>: &#39;log&#39;)中需要传指数值。</p>\n"},"logBase":{"type":["number"],"description":"<p>对数轴的底数,只在对数轴中(<a href=\"#zAxis3D.type\">type</a>: &#39;log&#39;)有效。</p>\n","default":10},"data":{"type":["Array"],"description":"<p>类目数据,在类目轴(<a href=\"#zAxis3D.type\">type</a>: &#39;category&#39;)中有效。</p>\n<p>如果设置了 <a href=\"#zAxis3D.type\">type</a> 是 <code>&#39;category&#39;</code>,但没有设置 <code>axis.data</code>,则 <code>axis.data</code> 的内容会自动从 <a href=\"#series.data\">series.data</a> 中获取,这会比较方便。不过注意,<code>axis.data</code> 指明的是 <code>&#39;category&#39;</code> 轴的取值范围。如果不指定而是从 <a href=\"#series.data\">series.data</a> 中获取,那么只能获取到 <a href=\"#series.data\">series.data</a> 中出现的值。比如说,假如 <a href=\"#series.data\">series.data</a> 为空时,就什么也获取不到。</p>\n<p>示例:</p>\n<pre><code class=\"lang-js\">// 所有类目名称列表\ndata: [&#39;周一&#39;, &#39;周二&#39;, &#39;周三&#39;, &#39;周四&#39;, &#39;周五&#39;, &#39;周六&#39;, &#39;周日&#39;]\n// 每一项也可以是具体的配置项,此时取配置项中的 `value` 为类目名\ndata: [{\n value: &#39;周一&#39;,\n // 突出周一\n textStyle: {\n fontSize: 20,\n color: &#39;red&#39;\n }\n}, &#39;周二&#39;, &#39;周三&#39;, &#39;周四&#39;, &#39;周五&#39;, &#39;周六&#39;, &#39;周日&#39;]\n</code></pre>\n","items":{"type":"Object","properties":{"value":{"type":["string"],"description":"<p>单个类目名称。</p>\n"},"textStyle":{"type":["Object"],"description":"<p>类目标签的文字样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"\"#fff\""},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":12},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}}},"axisLine":{"type":["Object"],"description":"<p>坐标轴轴线相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴轴线。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"'#333'"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":2}}}}},"axisLabel":{"type":["Object"],"description":"<p>坐标轴刻度标签的相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示刻度标签。</p>\n","default":true},"margin":{"type":["number"],"description":"<p>刻度标签与轴线之间的距离。</p>\n<p><strong>注意:</strong> 这个距离是三维空间而非屏幕空间的。</p>\n","default":8},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"formatter":{"type":["string","Function"],"description":"","default":null},"textStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["Color","Function"],"description":"<p>刻度标签文字的颜色,默认取 <a href=\"#.axisLine.lineStyle.color\">axisLine.lineStyle.color</a>。支持回调函数,格式如下</p>\n<pre><code class=\"lang-js\">(val: string) =&gt; Color\n</code></pre>\n<p>参数是标签的文本,返回颜色值,如下示例:</p>\n<pre><code class=\"lang-js\">textStyle: {\n color: function (value, index) {\n return value &gt;= 0 ? &#39;green&#39; : &#39;red&#39;;\n }\n}\n</code></pre>\n"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":12},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n<!-- Overwrite color -->","default":"normal"}}}}},"axisTick":{"type":["Object"],"description":"<p>坐标轴刻度相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴刻度。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。默认同 <a href=\"#.axisLabel.interval\">axisLabel.interval</a> 一样。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"length":{"type":["number"],"description":"<p>坐标轴刻度的长度。</p>\n","default":5},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["Color"],"description":"<p>刻度线的颜色,默认取 <a href=\"#.axisLine.lineStyle.color\">axisLine.lineStyle.color</a>。</p>\n"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n<!-- Overwrite color -->","default":1}}}}},"splitLine":{"type":["Object"],"description":"<p>坐标轴轴线相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴轴线。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴刻度标签的显示间隔,在类目轴中有效。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"'#333'"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":2}}}}},"splitArea":{"type":["Object"],"description":"<p>坐标轴在 <a href=\"#grid3D\">grid3D</a> 的平面上的分隔区域。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示分隔区域。</p>\n","default":true},"interval":{"type":["number","Function"],"description":"<p>坐标轴分隔区域的显示间隔,在类目轴中有效。默认同 <a href=\"#.axisLabel.interval\">axisLabel.interval</a> 一样。</p>\n<p>默认会自动计算<code>interval</code>以保证较好的展示效果。</p>\n<p>可以设置成 0 强制显示所有标签。</p>\n<p>如果设置为 <code>1</code>,表示『隔一个标签显示一个标签』,如果值为 <code>2</code>,表示隔两个标签显示一个标签,以此类推。</p>\n<p>可以用数值表示间隔的数据,也可以通过回调函数控制。回调函数格式如下:</p>\n<pre><code class=\"lang-js\">(index:number, value: string) =&gt; boolean\n</code></pre>\n<p>第一个参数是类目的 index,第二个值是类目名称,如果跳过则返回 <code>false</code>。</p>\n","default":"'auto'"},"areaStyle":{"type":["Object"],"description":"<p>分隔区域的样式设置。</p>\n","properties":{"color":{"type":["Array"],"description":"<p>分隔区域颜色。分隔区域会按数组中颜色的顺序依次循环设置颜色。默认是一个深浅的间隔色。</p>\n","default":"['rgba(250,250,250,0.3)','rgba(200,200,200,0.3)']"}}}}},"axisPointer":{"type":["Object"],"description":"<p>坐标轴指示线。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示坐标轴指示线。</p>\n","default":true},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"'rgba(0, 0, 0, 0.8)'"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":1}}},"label":{"type":["Object"],"description":"<p>指示线标签。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示指示线标签。默认数值轴显示,类目轴不显示。</p>\n","default":true},"formatter":{"type":["Function"],"description":"<p>标签格式器,函数第一个参数是当前坐标轴的数值,第二个参数是所有坐标轴的数值数组</p>\n<pre><code class=\"lang-js\">(value: number, valueAll: Array) =&gt; string\n</code></pre>\n"},"margin":{"type":["number"],"description":"<p>标签距离坐标轴的距离。同刻度标签一样,这个距离是三维空间而非屏幕像素。</p>\n"},"textStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"\"#fff\""},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":16},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}}}}}},"series":{"type":"Array","items":{"anyOf":[{"type":["Object"],"description":"<p>三维散点/气泡图。可以用于<a href=\"#grid3D\">三维直角坐标系 grid3D</a>,<a href=\"#geo3D\">三维地理坐标系 geo3D</a>,<a href=\"#globe\">地球 globe</a>,通过大小,颜色等属性展示数据。</p>\n<p>下图示一个三维的 simplex noise 用气泡图绘制出来的例子。</p>\n<p><img width=\"500\" height=\"auto\" src=\"documents/asset/gl/img/scatter3D.png\"></p>\n","properties":{"type":{"type":["string"],"description":"","default":"'scatter3D'"},"name":{"type":["string"],"description":"<p>系列名称,用于<a href=\"http://echarts.baidu.com/option.html#tooltip\" target=\"_blank\">tooltip</a>的显示,<a href=\"http://echarts.baidu.com/option.html#legend\" target=\"_blank\">legend</a> 的图例筛选,在 <code>setOption</code> 更新数据和配置项时用于指定对应的系列。</p>\n"},"coordinateSystem":{"type":["string"],"description":"<p>该系列使用的坐标系,可选:</p>\n<ul>\n<li><p><code>&#39;cartesian3D&#39;</code></p>\n<p> 使用三维笛卡尔坐标系,通过 <a href=\"#series-.grid3DIndex\">grid3DIndex</a> 指定相应的三维笛卡尔坐标系组件。</p>\n</li>\n</ul>\n<ul>\n<li><p><code>&#39;geo3D&#39;</code></p>\n<p> 使用三维地理坐标系,通过 <a href=\"#series-.geo3DIndex\">geo3DIndex</a> 指定相应的三维地理坐标系组件</p>\n</li>\n</ul>\n<ul>\n<li><p><code>&#39;globe&#39;</code></p>\n<p> 使用地球坐标系,通过 <a href=\"#series-.globeIndex\">globeIndex</a> 指定相应的地球坐标系组件</p>\n</li>\n</ul>\n"},"grid3DIndex":{"type":["number"],"description":"<p>使用的 <a href=\"#grid3D\">grid3D</a> 组件的索引。默认使用第一个 <a href=\"#grid3D\">grid3D</a> 组件。</p>\n","default":0},"geo3DIndex":{"type":["number"],"description":"<p>坐标轴使用的 <a href=\"#geo3D\">geo3D</a> 组件的索引。默认使用第一个 <a href=\"#geo3D\">geo3D</a> 组件。</p>\n","default":0},"globeIndex":{"type":["number"],"description":"<p>坐标轴使用的 <a href=\"#globe\">globe</a> 组件的索引。默认使用第一个 <a href=\"#globe\">globe</a> 组件。</p>\n","default":0},"symbol":{"type":["string"],"description":"<p>散点的形状。默认为圆形。</p>\n<p>ECharts 提供的标记类型包括 \n<code>&#39;circle&#39;</code>, <code>&#39;rect&#39;</code>, <code>&#39;roundRect&#39;</code>, <code>&#39;triangle&#39;</code>, <code>&#39;diamond&#39;</code>, <code>&#39;pin&#39;</code>, <code>&#39;arrow&#39;</code>, <code>&#39;none&#39;</code></p>\n<p>可以通过 <code>&#39;path://&#39;</code> 将图标设置为任意的矢量路径。这种方式相比于使用图片的方式,不用担心因为缩放而产生锯齿或模糊,而且可以设置为任意颜色。路径图形会自适应调整为合适(如果是 <code>symbol</code> 的话就是 <code>symbolSize</code>)的大小。路径的格式参见 <a href=\"http://www.w3.org/TR/SVG/paths.html#PathData\" target=\"_blank\">SVG PathData</a>。可以从 Adobe Illustrator 等工具编辑导出。</p>\n","default":"'circle'"},"symbolSize":{"type":["number","Array","Function"],"description":"<p>标记的大小,可以设置成诸如 <code>10</code> 这样单一的数字,也可以用数组分开表示宽和高,例如 <code>[20, 10]</code> 表示标记宽为<code>20</code>,高为<code>10</code>。</p>\n<p>如果需要每个数据的图形大小不一样,可以设置为如下格式的回调函数:</p>\n<pre><code class=\"lang-js\">(value: Array|number, params: Object) =&gt; number|Array\n</code></pre>\n<p>其中第一个参数 <code>value</code> 为 <a href=\"#series-.data\">data</a> 中的数据值。第二个参数<code>params</code> 是其它的数据项参数。</p>\n","default":10},"itemStyle":{"type":["Object"],"description":"<p>散点图颜色描边等样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":0.8},"borderWidth":{"type":["number"],"description":"<p>图形描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>图形描边颜色。</p>\n","default":"'#fff'"}}},"label":{"type":["Object"],"description":"<p>标签样式</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":false},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n","default":5},"position":{"type":["string"],"description":"<p>标签的位置。</p>\n<p><strong>可选:</strong></p>\n<ul>\n<li>&#39;top&#39;</li>\n<li>&#39;left&#39;</li>\n<li>&#39;right&#39;</li>\n<li>&#39;bottom&#39;</li>\n</ul>\n","default":"right"},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"#000"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":1},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":14},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}},"emphasis":{"type":["Object"],"description":"<p>图形和标签高亮的样式。</p>\n","properties":{"itemStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":0.8},"borderWidth":{"type":["number"],"description":"<p>图形描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>图形描边颜色。</p>\n","default":"'#fff'"}}},"label":{"type":["Object"],"description":"","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":false},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n","default":5},"position":{"type":["string"],"description":"<p>标签的位置。</p>\n<p><strong>可选:</strong></p>\n<ul>\n<li>&#39;top&#39;</li>\n<li>&#39;left&#39;</li>\n<li>&#39;right&#39;</li>\n<li>&#39;bottom&#39;</li>\n</ul>\n","default":"right"},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"#000"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":1},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":14},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}}}},"data":{"type":["Array"],"description":"<p>三维散点图数据数组。数组每一项为一个数据。通常这个数据是用数组存储数据的每个属性/维度。例如下面:</p>\n<pre><code class=\"lang-js\">data: [\n [[12, 14, 10], [34, 50, 15], [56, 30, 20], [10, 15, 12], [23, 10, 14]]\n]\n</code></pre>\n<p>对于数组中的每一项:</p>\n<ol>\n<li>在 <a href=\"#grid3D\">grid3D</a> 中,每一项的前三个值分别是<code>x</code>, <code>y</code>, <code>z</code>。</li>\n<li>在 <a href=\"#geo3D\">geo3D</a> 以及 <a href=\"globe\" target=\"_blank\">globe</a> 中,每一项的前两个值分别是经纬度 <code>lng</code>, <code>lat</code>。</li>\n</ol>\n<p>除了默认给坐标系使用的值,每一项还可以加入任意多个值,用于给 <a href=\"#visualMap\">visualMap</a> 组件映射到颜色等其它图形属性。</p>\n<p>有些时候我们需要指定每个数据项的名称,这时候需要每个项为一个对象:</p>\n<pre><code class=\"lang-js\">[{\n // 数据项的名称\n name: &#39;数据1&#39;,\n // 数据项值\n value: [12, 14, 10]\n}, {\n name: &#39;数据2&#39;,\n value: [34, 50, 15]\n}]\n</code></pre>\n<p>需要对个别内容指定进行个性化定义时:</p>\n<pre><code class=\"lang-js\">[{\n name: &#39;数据1&#39;,\n value: [12, 14, 10]\n}, {\n // 数据项名称\n name: &#39;数据2&#39;,\n value : [34, 50, 15],\n //自定义特殊itemStyle,仅对该item有效\n itemStyle:{}\n}]\n</code></pre>\n"},"blendMode":{"type":["string"],"description":"<p>混合模式,目前支持<code>&#39;source-over&#39;</code>,<code>&#39;lighter&#39;</code>,默认使用的<code>&#39;source-over&#39;</code>是通过 alpha 混合,而<code>&#39;lighter&#39;</code>是叠加模式,该模式可以让数据集中的区域因为叠加而产生高亮的效果。</p>\n","default":"'source-over'"},"zlevel":{"type":["number"],"description":"<p>组件所在的层。</p>\n<p><code>zlevel</code>用于 Canvas 分层,不同<code>zlevel</code>值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁(例如有动画)的组件设置成一个单独的<code>zlevel</code>。需要注意的是过多的 Canvas 会引起内存开销的增大,在手机端上需要谨慎使用以防崩溃。</p>\n<p><code>zlevel</code> 大的 Canvas 会放在 <code>zlevel</code> 小的 Canvas 的上面。</p>\n<p><strong>注:</strong> echarts-gl 中组件的层需要跟 echarts 中组件的层分开。同一个 zlevel 不能同时用于 WebGL 和 Canvas 的绘制。</p>\n","default":-10},"silent":{"type":["boolean"],"description":"<p>图形是否不响应和触发鼠标事件,默认为 false,即响应和触发鼠标事件。</p>\n","default":false},"animation":{"type":["boolean"],"description":"<p>是否开启动画。</p>\n","default":true},"animationDurationUpdate":{"type":["number"],"description":"<p>过渡动画的时长。</p>\n","default":500},"animationEasingUpdate":{"type":["string"],"description":"<p>过渡动画的缓动效果。</p>\n","default":"cubicOut"}}},{"type":["Object"],"description":"<p>三维柱状图。可以用于<a href=\"#grid3D\">三维直角坐标系 grid3D</a>,<a href=\"#geo3D\">三维地理坐标系 geo3D</a>,<a href=\"#globe\">地球 globe</a>,通过高度,颜色等属性展示数据。</p>\n<p>下图就是在 <a href=\"#geo3D\">geo3D</a> 上通过三维柱状图展示世界的人口密度数据。</p>\n<p><img width=\"700\" height=\"auto\" src=\"documents/asset/gl/img/geo-bar3D.jpg\"></p>\n","properties":{"type":{"type":["string"],"description":"","default":"'bar3D'"},"name":{"type":["string"],"description":"<p>系列名称,用于<a href=\"http://echarts.baidu.com/option.html#tooltip\" target=\"_blank\">tooltip</a>的显示,<a href=\"http://echarts.baidu.com/option.html#legend\" target=\"_blank\">legend</a> 的图例筛选,在 <code>setOption</code> 更新数据和配置项时用于指定对应的系列。</p>\n"},"coordinateSystem":{"type":["string"],"description":"<p>该系列使用的坐标系,可选:</p>\n<ul>\n<li><p><code>&#39;cartesian3D&#39;</code></p>\n<p> 使用三维笛卡尔坐标系,通过 <a href=\"#series-.grid3DIndex\">grid3DIndex</a> 指定相应的三维笛卡尔坐标系组件。</p>\n</li>\n</ul>\n<ul>\n<li><p><code>&#39;geo3D&#39;</code></p>\n<p> 使用三维地理坐标系,通过 <a href=\"#series-.geo3DIndex\">geo3DIndex</a> 指定相应的三维地理坐标系组件</p>\n</li>\n</ul>\n<ul>\n<li><p><code>&#39;globe&#39;</code></p>\n<p> 使用地球坐标系,通过 <a href=\"#series-.globeIndex\">globeIndex</a> 指定相应的地球坐标系组件</p>\n</li>\n</ul>\n","default":"cartesian3D"},"grid3DIndex":{"type":["number"],"description":"<p>使用的 <a href=\"#grid3D\">grid3D</a> 组件的索引。默认使用第一个 <a href=\"#grid3D\">grid3D</a> 组件。</p>\n","default":0},"geo3DIndex":{"type":["number"],"description":"<p>坐标轴使用的 <a href=\"#geo3D\">geo3D</a> 组件的索引。默认使用第一个 <a href=\"#geo3D\">geo3D</a> 组件。</p>\n","default":0},"globeIndex":{"type":["number"],"description":"<p>坐标轴使用的 <a href=\"#globe\">globe</a> 组件的索引。默认使用第一个 <a href=\"#globe\">globe</a> 组件。</p>\n","default":0},"bevelSize":{"type":["number"],"description":"<p>柱子的倒角尺寸。支持设置为从 0 到 1 的值。默认为 0,即没有倒角。</p>\n<p>下面是无倒角和有倒角的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/bar3D-no-bevel.png\" width=\"100%\" title=\"bevelSize: 0\">\n <img src=\"documents/asset/gl/img/bar3D-bevel.png\" width=\"100%\" title=\"bevelSize: 0.3\">\n</div>\n","default":0},"bevelSmoothness":{"type":["number"],"description":"<p>柱子倒角的光滑/圆润度,数值越大越光滑/圆润。</p>\n","default":2},"stack":{"type":["string"],"description":"<p>柱状图堆叠,相同 <code>stack</code> 值的柱状图系列数据会有叠加。注意不同系列需要叠加的数据项在数组中的索引必须是一样的。</p>\n"},"minHeight":{"type":["number"],"description":"<p>最小柱子高度。</p>\n","default":0},"itemStyle":{"type":["Object"],"description":"<p>柱子的样式,包括颜色和不透明度。</p>\n","properties":{"color":{"type":["string","Function"],"description":"<p>图形的颜色。 默认从全局调色盘 <a href=\"http://echarts.baidu.com/option.html#color\" target=\"_blank\">option.color</a> 获取颜色 </p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1}}},"label":{"type":["Object"],"description":"<p>柱子的标签配置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":false},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n","default":2},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"\"#fff\""},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":1},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":20},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}},"emphasis":{"type":["Object"],"description":"<p>柱子高亮状态的标签和样式配置。</p>\n","properties":{"itemStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1}}},"label":{"type":["Object"],"description":"","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":true},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n","default":2},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"\"#fff\""},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":1},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":20},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}}}},"data":{"type":["Array"],"description":"<p>三维柱状图数据数组。数组每一项为一个数据。通常这个数据是用数组存储数据的每个属性/维度。例如下面:</p>\n<pre><code class=\"lang-js\">data: [\n [[12, 14, 10], [34, 50, 15], [56, 30, 20], [10, 15, 12], [23, 10, 14]]\n]\n</code></pre>\n<p>对于数组中的每一项:</p>\n<ol>\n<li>在 <a href=\"#grid3D\">grid3D</a> 中,每一项的前三个值分别是<code>x</code>, <code>y</code>, <code>z</code>。</li>\n<li>在 <a href=\"#geo3D\">geo3D</a> 以及 <a href=\"globe\" target=\"_blank\">globe</a> 中,每一项的前两个值分别是经纬度 <code>lng</code>, <code>lat</code>,第三个值表示数值大小,例如人口的大小。这个值会被映射到 <a href=\"#series-bar3D.minHeight\">minHeight</a> ~ <a href=\"#series-bar3D.maxHeight\">maxHeight</a> 的范围。</li>\n</ol>\n<p>除了默认给坐标系使用的三个值,每一项还可以加入任意多个值,用于给 <a href=\"#visualMap\">visualMap</a> 组件映射到颜色等其它图形属性。</p>\n<p>有些时候我们需要指定每个数据项的名称,这时候需要每个项为一个对象:</p>\n<pre><code class=\"lang-js\">[{\n // 数据项的名称\n name: &#39;数据1&#39;,\n // 数据项值\n value: [12, 14, 10]\n}, {\n name: &#39;数据2&#39;,\n value: [34, 50, 15]\n}]\n</code></pre>\n<p>需要对个别内容指定进行个性化定义时:</p>\n<pre><code class=\"lang-js\">[{\n name: &#39;数据1&#39;,\n value: [12, 14, 10]\n}, {\n // 数据项名称\n name: &#39;数据2&#39;,\n value : [34, 50, 15],\n //自定义特殊itemStyle,仅对该item有效\n itemStyle:{}\n}]\n</code></pre>\n","items":{"type":"Object","properties":{"name":{"type":["string"],"description":"<p>数据项名称。</p>\n"},"value":{"type":["Array"],"description":"<p>数据项值。</p>\n"},"itemStyle":{"type":["Object"],"description":"<p>单个数据项的样式设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1}}},"label":{"type":["Object"],"description":"<p>单个数据项的标签设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":false},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n","default":2},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"\"#fff\""},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":1},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":20},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}},"emphasis":{"type":["Object"],"description":"<p>单个数据项高亮状态的标签和样式配置。</p>\n","properties":{"itemStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1}}},"label":{"type":["Object"],"description":"","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":true},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n","default":2},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"\"#fff\""},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":1},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":20},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}}}}}}},"shading":{"type":["string"],"description":"<p>三维柱状图中三维图形的着色效果,echarts-gl 中支持下面三种着色方式</p>\n<ul>\n<li><p><code>&#39;color&#39;</code>\n只显示颜色,不受光照等其它因素的影响。</p>\n</li>\n<li><p><code>&#39;lambert&#39;</code>\n通过经典的 <a href=\"https://en.wikipedia.org/wiki/Lambertian_reflectance\" target=\"_blank\">lambert</a> 着色表现光照带来的明暗。</p>\n</li>\n<li><p><code>&#39;realistic&#39;</code>\n真实感渲染,配合 <a href=\"#globe.light.ambientCubemap\">light.ambientCubemap</a> 和 <a href=\"#globe.postEffect\">postEffect</a> 使用可以让展示的画面效果和质感有质的提升。ECharts GL 中使用了<a href=\"https://www.marmoset.co/posts/physically-based-rendering-and-you-can-too/\" target=\"_blank\">基于物理的渲染(PBR)</a> 来表现真实感材质。</p>\n</li>\n</ul>\n"},"realisticMaterial":{"type":["Object"],"description":"<p>真实感材质相关的配置项,在 <a href=\"#series-bar3D.shading\">shading</a> 为<code>&#39;realistic&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0},"roughness":{"type":["number","string","HTMLImageElement","HTMLCanvasElement"],"description":"<p><code>roughness</code>属性用于表示材质的粗糙度,<code>0</code>为完全光滑,<code>1</code>完全粗糙,中间的值则是介于这两者之间。</p>\n<p>下图是 <a href=\"#globe\">globe</a> 中<code>roughness</code>分别是<code>0.2</code>(光滑)与<code>0.8</code>(粗糙)的效果</p>\n<p><img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-gloss.png\">\n<img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-rough.png\"></p>\n<p>当你想要表达更复杂的材质时。你可以直接将 <code>roughness</code> 设置为如下用每个像素存储粗糙度的贴图。</p>\n<p><img width=\"300\" height=\"300\" src=\"documents/asset/gl/img/roughness.png\"></p>\n<p>贴图中颜色越白的地方值越大,也就是越粗糙。你可以从 <a href=\"http://freepbr.com/\" target=\"_blank\">http://freepbr.com/</a> 等资源网站获取不同材质的贴图资源,也可以自己使用工具生成。</p>\n","default":0.5},"metalness":{"type":["number","string","HTMLImageElement","HTMLCanvasElement"],"description":"<p><code>metalness</code>属性用于表示材质是金属还是非金属,<code>0</code>为非金属,<code>1</code>为金属,中间的值则是介于这两者之间,但是通常设成<code>0</code>和<code>1</code>就能满足大部分场景了</p>\n<p>下图是 <a href=\"#globe\">globe</a> 中<code>metalness</code>分别设成<code>1</code>与<code>0</code>的效果区别。</p>\n<p><img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-metal.png\">\n<img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-non-metal.png\"></p>\n<p>跟 <a href=\"#series-bar3D.realisticMaterial.roughness\">roughness</a> 一样 你可以直接将 <code>metalness</code> 设置为金属度贴图。</p>\n","default":0},"roughnessAdjust":{"type":["number"],"description":"<p>粗糙度调整,在使用粗糙度贴图的时候有用。可以对贴图整体的粗糙度进行调整。默认为 0.5 的时候不调整,0 的时候变成完全光滑,1 的时候变成完全粗糙。</p>\n","default":0.5},"metalnessAdjust":{"type":["number"],"description":"<p>金属度调整,在使用金属度贴图的时候有用。可以对贴图整体的金属度进行调整。默认为 0.5 的时候不调整,0 的时候变成非金属,1 的时候变成金属。</p>\n","default":0.5},"normalTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的法线贴图。</p>\n<p>使用法线贴图可以在较少的顶点下依然表现出物体表面丰富的明暗细节。</p>\n"}}},"lambertMaterial":{"type":["Object"],"description":"<p>lambert 材质相关的配置项,在 <a href=\"#series-bar3D.shading\">shading</a> 为<code>&#39;lambert&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0}}},"colorMaterial":{"type":["Object"],"description":"<p>color 材质相关的配置项,在 <a href=\"#series-bar3D.shading\">shading</a> 为<code>&#39;color&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0}}},"zlevel":{"type":["number"],"description":"<p>组件所在的层。</p>\n<p><code>zlevel</code>用于 Canvas 分层,不同<code>zlevel</code>值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁(例如有动画)的组件设置成一个单独的<code>zlevel</code>。需要注意的是过多的 Canvas 会引起内存开销的增大,在手机端上需要谨慎使用以防崩溃。</p>\n<p><code>zlevel</code> 大的 Canvas 会放在 <code>zlevel</code> 小的 Canvas 的上面。</p>\n<p><strong>注:</strong> echarts-gl 中组件的层需要跟 echarts 中组件的层分开。同一个 zlevel 不能同时用于 WebGL 和 Canvas 的绘制。</p>\n","default":-10},"silent":{"type":["boolean"],"description":"<p>图形是否不响应和触发鼠标事件,默认为 false,即响应和触发鼠标事件。</p>\n","default":false},"animation":{"type":["boolean"],"description":"<p>是否开启动画。</p>\n","default":true},"animationDurationUpdate":{"type":["number"],"description":"<p>过渡动画的时长。</p>\n","default":500},"animationEasingUpdate":{"type":["string"],"description":"<p>过渡动画的缓动效果。</p>\n","default":"cubicOut"}}},{"type":["Object"],"description":"<p>三维折线图。可以用于<a href=\"#grid3D\">三维直角坐标系 grid3D</a>。</p>\n<p><img width=\"600\" height=\"auto\" src=\"documents/asset/gl/img/line3D.png\"></p>\n","properties":{"type":{"type":["string"],"description":"","default":"'line3D'"},"name":{"type":["string"],"description":"<p>系列名称,用于<a href=\"http://echarts.baidu.com/option.html#tooltip\" target=\"_blank\">tooltip</a>的显示,<a href=\"http://echarts.baidu.com/option.html#legend\" target=\"_blank\">legend</a> 的图例筛选,在 <code>setOption</code> 更新数据和配置项时用于指定对应的系列。</p>\n"},"coordinateSystem":{"type":["string"],"description":"<p>该系列使用的坐标系,可选:</p>\n<ul>\n<li><p><code>&#39;cartesian3D&#39;</code></p>\n<p> 使用三维笛卡尔坐标系,通过 <a href=\"#series-.grid3DIndex\">grid3DIndex</a> 指定相应的三维笛卡尔坐标系组件。</p>\n</li>\n</ul>\n","default":"cartesian3D"},"grid3DIndex":{"type":["number"],"description":"<p>使用的 <a href=\"#grid3D\">grid3D</a> 组件的索引。默认使用第一个 <a href=\"#grid3D\">grid3D</a> 组件。</p>\n","default":0},"lineStyle":{"type":["Object"],"description":"<p>线条样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":2},"lineStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":2}}}}},"data":{"type":["Array"],"description":"<p>数据数组。数组每一项为一个数据。通常这个数据是用数组存储数据的每个属性/维度。例如下面:</p>\n<pre><code class=\"lang-js\">data: [\n [[12, 14, 10], [34, 50, 15], [56, 30, 20], [10, 15, 12], [23, 10, 14]]\n]\n</code></pre>\n<p>数组中的每一项的前三个值分别是<code>x</code>, <code>y</code>, <code>z</code>。除了这三个值也可以添加其它值给 <a href=\"#visualMap\">visualMap</a> 组件映射到颜色等其它图形属性。</p>\n<p>有些时候我们需要指定每个数据项的名称,这时候需要每个项为一个对象:</p>\n<pre><code class=\"lang-js\">[{\n // 数据项的名称\n name: &#39;数据1&#39;,\n // 数据项值\n value: [12, 14, 10]\n}, {\n name: &#39;数据2&#39;,\n value: [34, 50, 15]\n}]\n</code></pre>\n<p>需要对个别内容指定进行个性化定义时:</p>\n<pre><code class=\"lang-js\">[{\n name: &#39;数据1&#39;,\n value: [12, 14, 10]\n}, {\n // 数据项名称\n name: &#39;数据2&#39;,\n value : [34, 50, 15],\n //自定义特殊itemStyle,仅对该item有效\n itemStyle:{}\n}]\n</code></pre>\n","items":{"type":"Object","properties":{"name":{"type":["string"],"description":"<p>数据项名称。</p>\n"},"value":{"type":["Array"],"description":"<p>数据项值。</p>\n"},"lineStyle":{"type":["Object"],"description":"<p>单个数据项的样式设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":1}}}}}},"zlevel":{"type":["number"],"description":"<p>组件所在的层。</p>\n<p><code>zlevel</code>用于 Canvas 分层,不同<code>zlevel</code>值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁(例如有动画)的组件设置成一个单独的<code>zlevel</code>。需要注意的是过多的 Canvas 会引起内存开销的增大,在手机端上需要谨慎使用以防崩溃。</p>\n<p><code>zlevel</code> 大的 Canvas 会放在 <code>zlevel</code> 小的 Canvas 的上面。</p>\n<p><strong>注:</strong> echarts-gl 中组件的层需要跟 echarts 中组件的层分开。同一个 zlevel 不能同时用于 WebGL 和 Canvas 的绘制。</p>\n","default":-10},"silent":{"type":["boolean"],"description":"<p>图形是否不响应和触发鼠标事件,默认为 false,即响应和触发鼠标事件。</p>\n","default":false},"animation":{"type":["boolean"],"description":"<p>是否开启动画。</p>\n","default":true},"animationDurationUpdate":{"type":["number"],"description":"<p>过渡动画的时长。</p>\n","default":500},"animationEasingUpdate":{"type":["string"],"description":"<p>过渡动画的缓动效果。</p>\n","default":"cubicOut"}}},{"type":["Object"],"description":"<p>三维的飞线图。跟二维的<a href=\"http://echarts.baidu.com/option.html#series-line\" target=\"_blank\">飞线图</a>一样用于表现起点终点的线数据。更多用在地理可视化上。</p>\n<p>下图是使用 <a href=\"#series-lines3D\">lines3D</a> 在 <a href=\"#globe\">globe</a> 上可视化飞机航班的一个例子。</p>\n<p><img width=\"700\" height=\"auto\" src=\"documents/asset/gl/img/globe-airline.png\"></p>\n","properties":{"type":{"type":["string"],"description":"","default":"'lines3D'"},"name":{"type":["string"],"description":"<p>系列名称,用于<a href=\"http://echarts.baidu.com/option.html#tooltip\" target=\"_blank\">tooltip</a>的显示,<a href=\"http://echarts.baidu.com/option.html#legend\" target=\"_blank\">legend</a> 的图例筛选,在 <code>setOption</code> 更新数据和配置项时用于指定对应的系列。</p>\n"},"coordinateSystem":{"type":["string"],"description":"<p>该系列使用的坐标系,可选:</p>\n<ul>\n<li><p><code>&#39;geo3D&#39;</code></p>\n<p> 使用三维地理坐标系,通过 <a href=\"#series-.geo3DIndex\">geo3DIndex</a> 指定相应的三维地理坐标系组件</p>\n</li>\n</ul>\n<ul>\n<li><p><code>&#39;globe&#39;</code></p>\n<p> 使用地球坐标系,通过 <a href=\"#series-.globeIndex\">globeIndex</a> 指定相应的地球坐标系组件</p>\n</li>\n</ul>\n"},"geo3DIndex":{"type":["number"],"description":"<p>坐标轴使用的 <a href=\"#geo3D\">geo3D</a> 组件的索引。默认使用第一个 <a href=\"#geo3D\">geo3D</a> 组件。</p>\n","default":0},"globeIndex":{"type":["number"],"description":"<p>坐标轴使用的 <a href=\"#globe\">globe</a> 组件的索引。默认使用第一个 <a href=\"#globe\">globe</a> 组件。</p>\n","default":0},"polyline":{"type":["boolean"],"description":"<p>是否是多段线。</p>\n<p>默认为 <code>false</code>,只能用于绘制只有两个端点的线段(表现为被赛尔曲线)。</p>\n<p>如果该配置项为 <code>true</code>,则可以在 <a href=\"#series-lines3D.data.coords\">data.coords</a> 中设置多于 2 个的顶点用来绘制多段线,在绘制路线轨迹的时候比较有用。</p>\n","default":false},"effect":{"type":["Object"],"description":"<p>飞线的尾迹特效。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示尾迹特效,默认不显示。</p>\n","default":false},"period":{"type":["number"],"description":"<p>尾迹特效的周期。</p>\n","default":4},"constantSpeed":{"type":["number"],"description":"<p>轨迹特效的移动动画是否是固定速度,单位按三维空间的尺寸,设置为非 null 的值后会忽略 <a href=\"#series-lines3D.effect.period\">period</a> 配置项。</p>\n","default":null},"trailWidth":{"type":["number"],"description":"<p>尾迹的宽度。</p>\n","default":4},"trailLength":{"type":["number"],"description":"<p>尾迹的长度,范围从 0 到 1,为线条长度的百分比。</p>\n","default":0.1},"trailColor":{"type":["string"],"description":"<p>尾迹的颜色,默认跟线条颜色相同。</p>\n"},"trailOpacity":{"type":["number"],"description":"<p>尾迹的不透明度,默认跟线条不透明度相同。</p>\n"}}},"lineStyle":{"type":["Object"],"description":"<p>飞线的线条样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":0.5},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":1}}},"data":{"type":["Array"],"description":"<p>三维飞线图的数据数组,通常数据的每一项可以是一个包含起点和终点的坐标集。在 <a href=\"#series-lines3D.polyline\">polyline</a> 设置为 <code>true</code> 时支持多于两个的坐标。\n如下:</p>\n<pre><code class=\"lang-js\">data: [\n [\n [120, 66, 1], // 起点的经纬度和海拔坐标\n [122, 67, 2] // 终点的经纬度和海拔坐标\n ]\n]\n</code></pre>\n<p>有些时候需要配置数据项的名字或者单独的样式。需要把经纬度坐标写到 coords 属性下。如下:</p>\n<pre><code class=\"lang-js\">data: [\n {\n coords: [ [120, 66], [122, 67] ],\n // 数据值\n value: 10,\n // 数据名\n name: &#39;foo&#39;,\n // 线条样式\n lineStyle: {}\n }\n]\n</code></pre>\n","items":{"type":"Object","properties":{"coords":{"type":["Array"],"description":"<p>一个包含两个到多个经纬度坐标的数组。在 <a href=\"#series-lines3D.polyline\">polyline</a> 设置为 <code>true</code> 时支持多于两个的坐标。</p>\n"},"value":{"type":["Array","number"],"description":"<p>数据值。</p>\n"},"lineStyle":{"type":["Object"],"description":"<p>单个数据(单条线)的样式设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":1}}}}}},"blendMode":{"type":["string"],"description":"<p>混合模式,目前支持<code>&#39;source-over&#39;</code>,<code>&#39;lighter&#39;</code>,默认使用的<code>&#39;source-over&#39;</code>是通过 alpha 混合,而<code>&#39;lighter&#39;</code>是叠加模式,该模式可以让数据集中的区域因为叠加而产生高亮的效果。</p>\n","default":"'source-over'"},"zlevel":{"type":["number"],"description":"<p>组件所在的层。</p>\n<p><code>zlevel</code>用于 Canvas 分层,不同<code>zlevel</code>值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁(例如有动画)的组件设置成一个单独的<code>zlevel</code>。需要注意的是过多的 Canvas 会引起内存开销的增大,在手机端上需要谨慎使用以防崩溃。</p>\n<p><code>zlevel</code> 大的 Canvas 会放在 <code>zlevel</code> 小的 Canvas 的上面。</p>\n<p><strong>注:</strong> echarts-gl 中组件的层需要跟 echarts 中组件的层分开。同一个 zlevel 不能同时用于 WebGL 和 Canvas 的绘制。</p>\n","default":-10},"silent":{"type":["boolean"],"description":"<p>图形是否不响应和触发鼠标事件,默认为 false,即响应和触发鼠标事件。</p>\n","default":false}}},{"type":["Object"],"description":"<p><strong>三维地图</strong></p>\n<p>三维地图主要用于地理区域数据的可视化,配合 <a href=\"http://echarts.baidu.com/option.html#visualMap\" target=\"_blank\">visualMap</a> 组件用于展示不同区域的人口分布密度等数据。</p>\n<p>相比于二维的地图,三维地图还能每个区域设置不同的高度,这个高度能够用来展示数据,也能够用来显示建筑数据中建筑的高度。</p>\n","properties":{"type":{"type":["string"],"description":"","default":"'map3D'"},"name":{"type":["string"],"description":"<p>系列名称,用于<a href=\"http://echarts.baidu.com/option.html#tooltip\" target=\"_blank\">tooltip</a>的显示,<a href=\"http://echarts.baidu.com/option.html#legend\" target=\"_blank\">legend</a> 的图例筛选,在 <code>setOption</code> 更新数据和配置项时用于指定对应的系列。</p>\n"},"map":{"type":["string"],"description":"<p>地图类型。echarts-gl 中使用的地图类型同 <a href=\"http://echarts.baidu.com/option.html#geo.map\" target=\"_blank\">geo</a> 组件相同</p>\n<p>你可以在<a href=\"http://ecomfe.github.io/echarts-builder-web/map3.html\" target=\"_blank\">地图下载界面</a>下载到需要的地图文件引入并注册到 ECharts 中。</p>\n<p>ECharts 中提供了两种格式的地图数据,一种是可以直接 script 标签引入的 js 文件,引入后会自动注册地图名字和数据。还有一种是 JSON 文件,需要通过 AJAX 异步加载后手动注册。</p>\n<p>下面是两种类型的使用示例:</p>\n<p><strong> JavaScript 引入示例 </strong></p>\n<pre><code class=\"lang-html\">&lt;script src=&quot;echarts.js&quot;&gt;&lt;/script&gt;\n&lt;script src=&quot;map/js/china.js&quot;&gt;&lt;/script&gt;\n&lt;script&gt;\nvar chart = echarts.init(document.getElementById(&#39;main&#39;));\nchart.setOption({\n series: [{\n type: &#39;map&#39;,\n map: &#39;china&#39;\n }]\n});\n&lt;/script&gt;\n</code></pre>\n<p><strong> JSON 引入示例 </strong></p>\n<pre><code class=\"lang-js\">$.get(&#39;map/json/china.json&#39;, function (chinaJson) {\n echarts.registerMap(&#39;china&#39;, chinaJson);\n var chart = echarts.init(document.getElementById(&#39;main&#39;));\n chart.setOption({\n series: [{\n type: &#39;map&#39;,\n map: &#39;china&#39;\n }]\n });\n});\n</code></pre>\n<p>ECharts 使用 <a href=\"http://geojson.org/\" target=\"_blank\">geoJSON</a> 格式的数据作为地图的轮廓,除了上述数据,你也可以通过其它手段获取地图的 <a href=\"http://geojson.org/\" target=\"_blank\">geoJSON</a> 数据注册到 ECharts 中。</p>\n"},"boxWidth":{"type":["number"],"description":"<p>三维地图组件在三维场景中的宽度。配合 <a href=\"#series-map3D.viewControl.distance\">viewControl.distance</a> 可以得到最合适的展示尺寸。</p>\n<p>下面是三维地图 中<code>boxWidth</code>, <code>boxHeight</code>, <code>boxDepth</code>, <code>regionHeight</code>的示意图。</p>\n<p><img width=\"600\" height=\"auto\" src=\"documents/asset/gl/img/geo-size.png\"></p>\n","default":100},"boxHeight":{"type":["number"],"description":"<p>三维地图组件在三维场景中的高度。</p>\n<p>组件高度。这个高度包含三维地图上的柱状图,散点图。</p>\n","default":10},"boxDepth":{"type":["number"],"description":"<p>三维地图组件在三维场景中的深度。</p>\n<p>组件深度默认自动,保证三维组件的显示比例跟输入的 GeoJSON 的比例相同</p>\n","default":"auto"},"regionHeight":{"type":["number"],"description":"<p>三维地图每个区域的高度。这个高度是模型的高度,小于 <a href=\"#series-map3D.boxHeight\">boxHeight</a>。<code>boxHeight - regionHeight</code> 这一片区域会被用于三维柱状图,散点图等的展示。</p>\n","default":3},"environment":{"type":["string"],"description":"<p>环境贴图,支持純颜色值,渐变色,全景贴图的 url。默认为 <code>&#39;auto&#39;</code>,在配置有 <a href=\"#series-map3D.light.ambientCubemap.texture\">light.ambientCubemap.texture</a> 的时候会使用该纹理作为环境贴图。否则则不显示环境贴图。</p>\n<p>示例:</p>\n<pre><code class=\"lang-js\">// 配置为全景贴图\nenvironment: &#39;asset/starfield.jpg&#39;\n// 配置为纯黑色的背景\nenvironment: &#39;#000&#39;\n// 配置为垂直渐变的背景\nenvironment: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{\n offset: 0, color: &#39;#00aaff&#39; // 天空颜色\n}, {\n offset: 0.7, color: &#39;#998866&#39; // 地面颜色\n}, {\n offset: 1, color: &#39;#998866&#39; // 地面颜色\n}], false)\n</code></pre>\n","default":"'auto'"},"groundPlane":{"type":["Object"],"description":"<p>地面可以让整个组件有个“摆放”的地方,从而使整个场景看起来更真实,更有模型感。</p>\n<p><code>groundPlane</code> 下支持设置单独的 <code>realisticMaterial</code>, <code>colorMaterial</code>, <code>lambertMaterial</code> 等材质。如果不设置则默认取组件下的材质参数。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示地面。</p>\n","default":false},"color":{"type":["string"],"description":"<p>地面颜色。</p>\n","default":"'#aaa'"}}},"instancing":{"type":["boolean"],"description":"<p><code>instancing</code>会将 GeoJSON 中所有的 <a href=\"http://geojson.org/geojson-spec.html#geometry-objects\" target=\"_blank\">geometry</a> 合并成一个,在 GeoJSON 拥有特别多(上千)的 <a href=\"http://geojson.org/geojson-spec.html#geometry-objects\" target=\"_blank\">geometry</a> 时可以有效提升绘制效率。</p>\n","default":false},"label":{"type":["Object"],"description":"<p>标签的相关设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":false},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n"},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"\"#fff\""},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":12},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}},"itemStyle":{"type":["Object"],"description":"<p>三维地图 中三维图形的视觉属性,包括颜色,透明度,描边等。</p>\n","properties":{"color":{"type":["string","Function"],"description":"<p>图形的颜色。 默认从全局调色盘 <a href=\"http://echarts.baidu.com/option.html#color\" target=\"_blank\">option.color</a> 获取颜色 </p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1},"borderWidth":{"type":["number"],"description":"<p>图形描边的宽度。加上描边后可以更清晰的区分每个区域。如下图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/geo-border.png\"></p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>图形描边的颜色。</p>\n","default":"#333"}}},"emphasis":{"type":["Object"],"description":"<p>鼠标 hover 高亮时图形和标签的样式</p>\n","properties":{"label":{"type":["Object"],"description":"","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":false},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n","default":2},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"#000"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":1},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":20},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}},"itemStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1}}}}},"data":{"type":["Array"],"description":"<p>地图区域的设置,</p>\n","items":{"type":"Object","properties":{"name":{"type":["string"],"description":"<p>所对应的地图区域的名称,例如 <code>&#39;广东&#39;</code>,<code>&#39;浙江&#39;</code>。</p>\n"},"value":{"type":["number"],"description":"<p>该区域的数据值。</p>\n"},"regionHeight":{"type":["number"],"description":"<p>区域的高度,可以设置不同的高度用来表达数据的大小。当 GeoJSON 为建筑的数据时,也可以通过这个值表示简直的高度。如下图</p>\n<p><img width=\"700\" height=\"auto\" src=\"documents/asset/gl/img/city-region-height.jpg\"></p>\n"},"itemStyle":{"type":["Object"],"description":"<p>单个区域的样式设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1},"borderWidth":{"type":["number"],"description":"<p>图形描边的宽度。加上描边后可以更清晰的区分每个区域。如下图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/geo-border.png\"></p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>图形描边的颜色。</p>\n","default":"#333"}}},"label":{"type":["Object"],"description":"<p>单个区域的标签设置。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":false},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n","default":2},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"#000"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":1},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":20},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}},"emphasis":{"type":["Object"],"description":"<p>单个区域标签和样式的高亮设置。</p>\n","properties":{"itemStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1},"borderWidth":{"type":["number"],"description":"<p>图形描边的宽度。加上描边后可以更清晰的区分每个区域。如下图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/geo-border.png\"></p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>图形描边的颜色。</p>\n","default":"#333"}}},"label":{"type":["Object"],"description":"","properties":{"show":{"type":["boolean"],"description":"<p>是否显示标签。</p>\n","default":false},"distance":{"type":["number"],"description":"<p>标签距离图形的距离,在三维的散点图中这个距离是屏幕空间的像素值,其它图中这个距离是相对的三维距离。</p>\n","default":2},"formatter":{"type":["Function","string"],"description":"<p>标签内容格式器,支持字符串模板和回调函数两种形式,字符串模板与回调函数返回的字符串均支持用 <code>\\n</code> 换行。</p>\n<p><strong>字符串模板</strong>\n模板变量有 <code>{a}</code>、<code>{b}</code>、<code>{c}</code>,分别表示系列名,数据名,数据值。</p>\n<p><strong>示例:</strong></p>\n<pre><code class=\"lang-js\">formatter: &#39;{b}: {c}&#39;\n</code></pre>\n<p><strong>回调函数</strong></p>\n<p>回调函数格式:</p>\n<pre><code class=\"lang-js\">(params: Object|Array) =&gt; string\n</code></pre>\n<p>参数 <code>params</code> 是 formatter 需要的单个数据集。格式如下:</p>\n"},"textStyle":{"type":["Object"],"description":"<p>标签的字体样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>文字的颜色。</p>\n","default":"#000"},"borderWidth":{"type":["number"],"description":"<p>文字的描边宽度。</p>\n","default":1},"borderColor":{"type":["string"],"description":"<p>文字的描边颜色。</p>\n","default":"#fff"},"fontFamily":{"type":["string"],"description":"<p>文字的字体系列。</p>\n","default":"'sans-serif'"},"fontSize":{"type":["number"],"description":"<p>文字的字体大小。</p>\n","default":20},"fontWeight":{"type":["string"],"description":"<p>文字字体的粗细。</p>\n<p>可选:</p>\n<ul>\n<li><code>&#39;normal&#39;</code></li>\n<li><code>&#39;bold&#39;</code></li>\n<li><code>&#39;bolder&#39;</code></li>\n<li><code>&#39;lighter&#39;</code></li>\n<li>100 | 200 | 300 | 400...</li>\n</ul>\n","default":"normal"}}}}}}}}}},"shading":{"type":["string"],"description":"<p>三维地图中三维图形的着色效果,echarts-gl 中支持下面三种着色方式</p>\n<ul>\n<li><p><code>&#39;color&#39;</code>\n只显示颜色,不受光照等其它因素的影响。</p>\n</li>\n<li><p><code>&#39;lambert&#39;</code>\n通过经典的 <a href=\"https://en.wikipedia.org/wiki/Lambertian_reflectance\" target=\"_blank\">lambert</a> 着色表现光照带来的明暗。</p>\n</li>\n<li><p><code>&#39;realistic&#39;</code>\n真实感渲染,配合 <a href=\"#globe.light.ambientCubemap\">light.ambientCubemap</a> 和 <a href=\"#globe.postEffect\">postEffect</a> 使用可以让展示的画面效果和质感有质的提升。ECharts GL 中使用了<a href=\"https://www.marmoset.co/posts/physically-based-rendering-and-you-can-too/\" target=\"_blank\">基于物理的渲染(PBR)</a> 来表现真实感材质。</p>\n</li>\n</ul>\n"},"realisticMaterial":{"type":["Object"],"description":"<p>真实感材质相关的配置项,在 <a href=\"#series-map3D.shading\">shading</a> 为<code>&#39;realistic&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0},"roughness":{"type":["number","string","HTMLImageElement","HTMLCanvasElement"],"description":"<p><code>roughness</code>属性用于表示材质的粗糙度,<code>0</code>为完全光滑,<code>1</code>完全粗糙,中间的值则是介于这两者之间。</p>\n<p>下图是 <a href=\"#globe\">globe</a> 中<code>roughness</code>分别是<code>0.2</code>(光滑)与<code>0.8</code>(粗糙)的效果</p>\n<p><img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-gloss.png\">\n<img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-rough.png\"></p>\n<p>当你想要表达更复杂的材质时。你可以直接将 <code>roughness</code> 设置为如下用每个像素存储粗糙度的贴图。</p>\n<p><img width=\"300\" height=\"300\" src=\"documents/asset/gl/img/roughness.png\"></p>\n<p>贴图中颜色越白的地方值越大,也就是越粗糙。你可以从 <a href=\"http://freepbr.com/\" target=\"_blank\">http://freepbr.com/</a> 等资源网站获取不同材质的贴图资源,也可以自己使用工具生成。</p>\n","default":0.5},"metalness":{"type":["number","string","HTMLImageElement","HTMLCanvasElement"],"description":"<p><code>metalness</code>属性用于表示材质是金属还是非金属,<code>0</code>为非金属,<code>1</code>为金属,中间的值则是介于这两者之间,但是通常设成<code>0</code>和<code>1</code>就能满足大部分场景了</p>\n<p>下图是 <a href=\"#globe\">globe</a> 中<code>metalness</code>分别设成<code>1</code>与<code>0</code>的效果区别。</p>\n<p><img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-metal.png\">\n<img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-non-metal.png\"></p>\n<p>跟 <a href=\"#series-map3D.realisticMaterial.roughness\">roughness</a> 一样 你可以直接将 <code>metalness</code> 设置为金属度贴图。</p>\n","default":0},"roughnessAdjust":{"type":["number"],"description":"<p>粗糙度调整,在使用粗糙度贴图的时候有用。可以对贴图整体的粗糙度进行调整。默认为 0.5 的时候不调整,0 的时候变成完全光滑,1 的时候变成完全粗糙。</p>\n","default":0.5},"metalnessAdjust":{"type":["number"],"description":"<p>金属度调整,在使用金属度贴图的时候有用。可以对贴图整体的金属度进行调整。默认为 0.5 的时候不调整,0 的时候变成非金属,1 的时候变成金属。</p>\n","default":0.5},"normalTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的法线贴图。</p>\n<p>使用法线贴图可以在较少的顶点下依然表现出物体表面丰富的明暗细节。</p>\n"}}},"lambertMaterial":{"type":["Object"],"description":"<p>lambert 材质相关的配置项,在 <a href=\"#series-map3D.shading\">shading</a> 为<code>&#39;lambert&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0}}},"colorMaterial":{"type":["Object"],"description":"<p>color 材质相关的配置项,在 <a href=\"#series-map3D.shading\">shading</a> 为<code>&#39;color&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0}}},"light":{"type":["Object"],"description":"<p>光照相关的设置。在 <a href=\"#series-map3D.shading\">shading</a> 为 <code>&#39;color&#39;</code> 的时候无效。</p>\n<p>光照的设置会影响到组件以及组件所在坐标系上的所有图表。</p>\n<p>合理的光照设置能够让整个场景的明暗变得更丰富,更有层次。</p>\n","properties":{"main":{"type":["Object"],"description":"<p>场景主光源的设置,在 <a href=\"#globe\">globe</a> 组件中就是太阳光。</p>\n","properties":{"color":{"type":["string"],"description":"<p>主光源的颜色。</p>\n","default":"#fff"},"intensity":{"type":["number"],"description":"<p>主光源的强度。</p>\n","default":1},"shadow":{"type":["boolean"],"description":"<p>主光源是否投射阴影。默认关闭。</p>\n<p>开启阴影可以给场景带来更真实和有层次的光照效果。但是同时也会增加程序的运行开销。</p>\n<p>下图是开启阴影以及关闭阴影的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-shadow.png\" width=\"100%\" title=\"Shadow\">\n <img src=\"documents/asset/gl/img/geo-no-shadow.png\" width=\"100%\" title=\"No Shadow\">\n</div>\n","default":false},"shadowQuality":{"type":["string"],"description":"<p>阴影的质量。可选<code>&#39;low&#39;</code>, <code>&#39;medium&#39;</code>, <code>&#39;high&#39;</code>, <code>&#39;ultra&#39;</code></p>\n<p>下图是低质量和高质量阴影的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-shadow-low.png\" width=\"100%\" title=\"Low\">\n <img src=\"documents/asset/gl/img/geo-shadow-high.png\" width=\"100%\" title=\"High\">\n</div>\n","default":"'medium'"},"alpha":{"type":["number"],"description":"<p>主光源绕 x 轴,即上下旋转的角度。配合 <a href=\"#series-map3D.light.main.beta\">beta</a> 控制光源的方向。</p>\n<p>如下示意图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/light-alpha-beta.png\"></p>\n<p><a href=\"#globe\">globe</a> 组件中可以通过 <a href=\"#globe.light.main.time\">time</a> 控制日光的时间。</p>\n","default":40},"beta":{"type":["number"],"description":"<p>主光源绕 y 轴,即左右旋转的角度。</p>\n","default":40}}},"ambient":{"type":["Object"],"description":"<p>全局的环境光设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>环境光的颜色。</p>\n","default":"#fff"},"intensity":{"type":["number"],"description":"<p>环境光的强度。</p>\n","default":0.2}}},"ambientCubemap":{"type":["Object"],"description":"<p>ambientCubemap 会使用纹理作为光源的环境光, 会为物体提供漫反射和高光反射。可以通过 <a href=\"#series-map3D.light.ambientCubemap.diffuseIntensity\">diffuseIntensity</a> 和 <a href=\"#series-map3D.light.ambientCubemap.specularIntensity\">specularIntensity</a> 分别设置漫反射强度和高光反射强度。</p>\n","properties":{"texture":{"type":["string"],"description":"<p>环境光纹理的 url,支持使用<code>.hdr</code>格式的 HDR 贴图。可以从 <a href=\"http://www.hdrlabs.com/sibl/archive.html\" target=\"_blank\">http://www.hdrlabs.com/sibl/archive.html</a> 等网站获取 <code>.hdr</code> 的资源。</p>\n<p>例如:</p>\n<pre><code class=\"lang-js\">ambientCubemap: {\n texture: &#39;pisa.hdr&#39;,\n // 解析 hdr 时使用的曝光值\n exposure: 1.0\n}\n</code></pre>\n"},"diffuseIntensity":{"type":["number"],"description":"<p>漫反射的强度。</p>\n","default":0.5},"specularIntensity":{"type":["number"],"description":"<p>高光反射的强度。</p>\n","default":0.5}}}}},"postEffect":{"type":["Object"],"description":"<p>后处理特效的相关配置,后处理特效可以为画面添加高光,景深,环境光遮蔽(SSAO),调色等效果。可以让整个画面更富有质感。</p>\n<p>下面分别是关闭和开启 <code>postEffect</code> 的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/globe-posteffect-disable.png\" width=\"100%\" title=\"Disable\">\n <img src=\"documents/asset/gl/img/globe-posteffect-enable.png\" width=\"100%\" title=\"Enable\">\n</div>\n\n<p>注意在开启 postEffect 的时候默认会开启 <a href=\"#series-map3D.temporalSuperSampling\">temporalSuperSampling</a> 在画面静止后持续对画面增强,包括抗锯齿,景深,SSAO,阴影等。</p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启后处理特效,默认关闭。</p>\n","default":false},"bloom":{"type":["Object"],"description":"<p>高光特效。高光特效用来表现很“亮”的颜色,因为传统的 RGB 只能表现<code>0 - 255</code>范围的颜色,所以对于超出这个范围特别“亮”的颜色,会通过这种高光溢出的特效去表现。如下图</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/globe-posteffect-bloom.png\"></p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启光晕特效。</p>\n","default":false},"bloomIntensity":{"type":["number"],"description":"<p>光晕的强度,默认为 0.1</p>\n","default":0.1}}},"depthOfField":{"type":["Object"],"description":"<p>景深效果。景深效果是模拟摄像机的光学成像效果,在对焦的区域相对清晰,原理对焦的区域则会逐渐模糊。</p>\n<p>景深效果可以让观察者几种注意力到对焦的区域,而且让画面的镜头感更强,大景深还能塑造出微距的模型效果。</p>\n<p>下面分别是关闭和开启景深的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-no-dof.png\" width=\"100%\" title=\"Disable\">\n <img src=\"documents/asset/gl/img/geo-dof.png\" width=\"100%\" title=\"Enable\">\n</div>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启景深</p>\n","default":false},"focalDistance":{"type":["boolean"],"description":"<p>初始的焦距,用户可以点击区域自动聚焦。</p>\n","default":50},"focalRange":{"type":["boolean"],"description":"<p>完全聚焦的区域范围,在此范围内的物体时完全清晰的,不会有模糊</p>\n","default":20},"fstop":{"type":["number"],"description":"<p>镜头的<a href=\"https://zh.wikipedia.org/wiki/%E7%84%A6%E6%AF%94\" target=\"_blank\">F值</a>,值越小景深越浅。</p>\n","default":2.8},"blurRadius":{"type":["number"],"description":"<p>焦外的模糊半径</p>\n<p>不同模糊半径的区别:</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-dof-small.png\" width=\"100%\" title=\"blurSize: 3\">\n <img src=\"documents/asset/gl/img/geo-dof-large.png\" width=\"100%\" title=\"blurSize: 10\">\n</div>\n","default":10}}},"screenSpaceAmbientOcclusion":{"type":["Object"],"description":"<p>屏幕空间的环境光遮蔽效果。环境光遮蔽可以让角落,缝隙等大部分光无法到达的区域变暗,是传统的阴影贴图的补充,可以让整个场景更加自然,有层次。</p>\n<p>下面是无 SSAO 和有 SSAO 的对比。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-no-ssao.png\" width=\"100%\" title=\"No SSAO\">\n <img src=\"documents/asset/gl/img/geo-ssao.png\" width=\"100%\" title=\"SSAO\">\n</div>\n"},"SSAO":{"type":["Object"],"description":"<p>同 <a href=\"#series-map3D.postEffect.screenSpaceAmbientOcclusion\">screenSpaceAmbientOcclusion</a></p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启环境光遮蔽,默认不开启</p>\n","default":false},"quality":{"type":["string"],"description":"<p>环境光遮蔽的质量,支持<code>&#39;low&#39;</code>, <code>&#39;medium&#39;</code>, <code>&#39;high&#39;</code>, <code>&#39;ultra&#39;</code></p>\n","default":"'medium'"},"radius":{"type":["number"],"description":"<p>环境光遮蔽的采样半径。半径越大效果越自然,但是需要设置较高的<code>&#39;quality&#39;</code>。</p>\n<p>下面是半径值较小与较大之间的区别</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/geo-ssao-small-radius.png\" width=\"100%\" title=\"Radius: 1\">\n <img src=\"documents/asset/gl/img/geo-ssao-large-radius.png\" width=\"100%\" title=\"Radius: 10\">\n</div>\n","default":2},"intensity":{"type":["number"],"description":"<p>环境光遮蔽的强度。值越大颜色越深。</p>\n","default":1}}},"colorCorrection":{"type":["Object"],"description":"<p>颜色纠正和调整。类似 Photoshop 中的 Color Adjustments</p>\n<p>下图同个场景调整为冷色系和暖色系的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/buildings-cold.jpg\" width=\"100%\" title=\"Cold\">\n <img src=\"documents/asset/gl/img/buildings-warm.jpg\" width=\"100%\" title=\"Warm\">\n</div>\n\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启颜色纠正</p>\n","default":true},"lookupTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>颜色查找表,推荐使用。</p>\n<p>颜色查找表是一张像下面这样的纹理图片。</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/lookup.png\"></p>\n<p>这张是基础的查找表图片,你可以直接拿来使用,为了方便将场景色调调整你想要的效果,你可以将场景截图后在 Photoshop 等图像处理软件中调整颜色到想要的效果,然后将相同的调整应用到上面这张查找表的图片上。</p>\n<p>比如调成冷色调后,查找表的纹理图片就会成为下面这样:</p>\n<p><img width=\"200\" height=\"auto\" src=\"documents/asset/gl/img/crispwinter.png\"></p>\n<p>然后那这张纹理图片就作为该配置项的值,就可以得到相同的你在 Photoshop 上的效果了。</p>\n<p>当然如果你只是想得到一张截图,完全不用再这样折腾,但是如果你想在能实时交互的作品中也能方便的调整到理想的色调,这个就非常有用了。</p>\n"},"exposure":{"type":["number"],"description":"<p>画面的曝光。</p>\n","default":0},"brightness":{"type":["number"],"description":"<p>画面的亮度。</p>\n","default":0},"contrast":{"type":["number"],"description":"<p>画面的对比度。</p>\n","default":1},"saturation":{"type":["number"],"description":"<p>画面的饱和度。</p>\n","default":1}}},"FXAA":{"type":["Object"],"description":"<p>在开启 <a href=\"#series-map3D.postEffect\">postEffect</a> 后,WebGL 默认的 MSAA 会无法使用。这时候通过 FXAA 可以廉价方便的解决抗锯齿的问题,FXAA 会对一些场景的边缘部分进行模糊从而解决锯齿的问题,这在一些场景上效果还不错,但是在 echarts-gl 中,需要保证很多文字和线条边缘的锐利清晰,因此 FXAA 并不是那么适用。这时候我们可以通过如下设置更高的<code>devicePixelRatio</code>来使用超采样</p>\n<pre><code class=\"lang-js\">var chart = echarts.init(dom, null, {\n devicePixelRatio: 2\n})\n</code></pre>\n<p>但是这种方法对电脑性能有很高的要求,所以更多时候我们建议使用 echarts-gl 中的 <a href=\"#series-map3D.temporalSuperSampling\">temporalSuperSampling</a>,在画面静止后会持续分帧对一个像素多次抖动采样,从而达到超采样抗锯齿的效果。</p>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启 FXAA,默认关闭。</p>\n","default":false}}}}},"temporalSuperSampling":{"type":["Object"],"description":"<p>分帧超采样。在开启 <a href=\"#series-map3D.postEffect\">postEffect</a> 后,WebGL 默认的 MSAA 会无法使用,所以我们需要自己解决锯齿的问题。</p>\n<p>分帧超采样就是用来解决锯齿的问题,它在画面静止后会持续分帧对一个像素多次抖动采样,从而达到抗锯齿的效果。而且在这个分帧采样的过程中,echarts-gl 也会对 <a href=\"#series-map3D.postEffect\">postEffect</a> 中一些需要采样保证效果的特效,例如 <a href=\"#series-map3D.postEffect.SSAO\">SSAO</a>, <a href=\"#series-map3D.postEffect.depthOfField\">景深</a>,以及阴影进行渐进增强。</p>\n<p>下面是未开启和开启<code>temporalSuperSampling</code>的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 800px;\">\n <img src=\"documents/asset/gl/img/surface-no-taa.png\" width=\"100%\" title=\"No AA\">\n <img src=\"documents/asset/gl/img/surface-taa.png\" width=\"100%\" title=\"AA\">\n</div>\n","properties":{"enable":{"type":["boolean"],"description":"<p>是否开启分帧超采样。默认在开启 <a href=\"#series-map3D.postEffect\">postEffect</a> 后也会同步开启。</p>\n","default":"'auto'"}}},"viewControl":{"type":["Object"],"description":"<p><code>viewControl</code>用于鼠标的旋转,缩放等视角控制。</p>\n","properties":{"projection":{"type":["string"],"description":"<p>投影方式,默认为透视投影<code>&#39;perspective&#39;</code>,也支持设置为正交投影<code>&#39;orthographic&#39;</code>。</p>\n","default":"perspective"},"autoRotate":{"type":["boolean"],"description":"<p>是否开启视角绕物体的自动旋转查看。</p>\n","default":false},"autoRotateDirection":{"type":["string"],"description":"<p>物体自转的方向。默认是 <code>&#39;cw&#39;</code> 也就是从上往下看是顺时针方向,也可以取 <code>&#39;ccw&#39;</code>,既从上往下看为逆时针方向。</p>\n","default":"cw"},"autoRotateSpeed":{"type":["number"],"description":"<p>物体自转的速度。单位为<code>角度 / 秒</code>,默认为<code>10</code> ,也就是<code>36</code>秒转一圈。</p>\n","default":10},"autoRotateAfterStill":{"type":["number"],"description":"<p>在鼠标静止操作后恢复自动旋转的时间间隔。在开启 <a href=\"#series-map3D.viewControl.autoRotate\">autoRotate</a> 后有效。</p>\n","default":3},"damping":{"type":["number"],"description":"<p>鼠标进行旋转,缩放等操作时的迟滞因子,在大于 0 的时候鼠标在停止操作后,视角仍会因为一定的惯性继续运动(旋转和缩放)。</p>\n","default":0.8},"rotateSensitivity":{"type":["number","Array"],"description":"<p>旋转操作的灵敏度,值越大越灵敏。支持使用数组分别设置横向和纵向的旋转灵敏度。</p>\n<p>默认为``</p>\n<p>设置为<code>0</code>后无法旋转。</p>\n<pre><code class=\"lang-js\">// 无法旋转\nrotateSensitivity: 0\n// 只能横向旋转\nrotateSensitivity: [1, 0]\n// 只能纵向旋转\nrotateSensitivity: [0, 1]\n</code></pre>\n","default":1},"zoomSensitivity":{"type":["number"],"description":"<p>缩放操作的灵敏度,值越大越灵敏。默认为``</p>\n<p>设置为<code>0</code>后无法缩放。</p>\n","default":1},"panSensitivity":{"type":["number"],"description":"<p>平移操作的灵敏度,值越大越灵敏。支持使用数组分别设置横向和纵向的平移灵敏度</p>\n<p>默认为``</p>\n<p>设置为<code>0</code>后无法平移。</p>\n","default":1},"panMouseButton":{"type":["string"],"description":"<p>平移操作使用的鼠标按键,支持:</p>\n<ul>\n<li><p><code>&#39;left&#39;</code> 鼠标左键(默认)</p>\n</li>\n<li><p><code>&#39;middle&#39;</code> 鼠标中键</p>\n</li>\n<li><p><code>&#39;right&#39;</code> 鼠标右键</p>\n</li>\n</ul>\n<p>注意:如果设置为鼠标右键则会阻止默认的右键菜单。</p>\n","default":"left"},"rotateMouseButton":{"type":["string"],"description":"<p>旋转操作使用的鼠标按键,支持:</p>\n<ul>\n<li><p><code>&#39;left&#39;</code> 鼠标左键</p>\n</li>\n<li><p><code>&#39;middle&#39;</code> 鼠标中键(默认)</p>\n</li>\n<li><p><code>&#39;right&#39;</code> 鼠标右键</p>\n</li>\n</ul>\n<p>注意:如果设置为鼠标右键则会阻止默认的右键菜单。</p>\n","default":"middle"},"distance":{"type":["number"],"description":"<p>默认视角距离主体的距离,对于 <a href=\"#globe\">globe</a> 来说是距离地球表面的距离,对于 <a href=\"#grid3D\">grid3D</a> 和 <a href=\"#geo3D\">geo3D</a> 等其它组件来说是距离中心原点的距离。在 <a href=\"#series-map3D.viewControl.projection\">projection</a> 为<code>&#39;perspective&#39;</code>的时候有效。</p>\n","default":100},"minDistance":{"type":["number"],"description":"<p>视角通过鼠标控制能拉近到主体的最小距离。在 <a href=\"#series-map3D.viewControl.projection\">projection</a> 为<code>&#39;perspective&#39;</code>的时候有效。</p>\n","default":40},"maxDistance":{"type":["number"],"description":"<p>视角通过鼠标控制能拉远到主体的最大距离。在 <a href=\"#series-map3D.viewControl.projection\">projection</a> 为<code>&#39;perspective&#39;</code>的时候有效。</p>\n","default":400},"orthographicSize":{"type":["number"],"description":"<p>正交投影的大小。在 <a href=\"#series-map3D.viewControl.projection\">projection</a> 为<code>&#39;orthographic&#39;</code>的时候有效。</p>\n","default":100},"maxOrthographicSize":{"type":["number"],"description":"<p>正交投影缩放的最大值。在 <a href=\"#series-map3D.viewControl.projection\">projection</a> 为<code>&#39;orthographic&#39;</code>的时候有效。</p>\n","default":20},"minOrthographicSize":{"type":["number"],"description":"<p>正交投影缩放的最小值。在 <a href=\"#series-map3D.viewControl.projection\">projection</a> 为<code>&#39;orthographic&#39;</code>的时候有效。</p>\n","default":400},"alpha":{"type":["number"],"description":"<p>视角绕 x 轴,即上下旋转的角度。配合 <a href=\"#series-map3D.light.main.beta\">beta</a> 可以控制视角的方向。</p>\n<p>如下示意图:</p>\n<p><img width=\"\" height=\"auto\" src=\"documents/asset/gl/img/view-alpha-beta.png\"></p>\n","default":40},"beta":{"type":["number"],"description":"<p>视角绕 y 轴,即左右旋转的角度。</p>\n","default":0},"center":{"type":["Array"],"description":"<p>视角中心点,旋转也会围绕这个中心点旋转,默认为<code>[0,0,0]</code>。</p>\n"},"minAlpha":{"type":["number"],"description":"<p>上下旋转的最小 alpha 值。即视角能旋转到达最上面的角度。</p>\n","default":5},"maxAlpha":{"type":["number"],"description":"<p>上下旋转的最大 alpha 值。即视角能旋转到达最下面的角度。</p>\n","default":90},"minBeta":{"type":["number"],"description":"<p>左右旋转的最小 beta 值。即视角能旋转到达最左的角度。</p>\n","default":-80},"maxBeta":{"type":["number"],"description":"<p>左右旋转的最大 beta 值。即视角能旋转到达最右的角度。</p>\n","default":80},"animation":{"type":["boolean"],"description":"<p>是否开启动画。</p>\n","default":true},"animationDurationUpdate":{"type":["number"],"description":"<p>过渡动画的时长。</p>\n","default":1000},"animationEasingUpdate":{"type":["string"],"description":"<p>过渡动画的缓动效果。</p>\n","default":"cubicInOut"}}},"zlevel":{"type":["number"],"description":"<p>组件所在的层。</p>\n<p><code>zlevel</code>用于 Canvas 分层,不同<code>zlevel</code>值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁(例如有动画)的组件设置成一个单独的<code>zlevel</code>。需要注意的是过多的 Canvas 会引起内存开销的增大,在手机端上需要谨慎使用以防崩溃。</p>\n<p><code>zlevel</code> 大的 Canvas 会放在 <code>zlevel</code> 小的 Canvas 的上面。</p>\n<p><strong>注:</strong> echarts-gl 中组件的层需要跟 echarts 中组件的层分开。同一个 zlevel 不能同时用于 WebGL 和 Canvas 的绘制。</p>\n","default":-10},"left":{"type":["string","number"],"description":"<p>组件的视图离容器左侧的距离。</p>\n<p><code>left</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比,也可以是 <code>&#39;left&#39;</code>, <code>&#39;center&#39;</code>, <code>&#39;right&#39;</code>。</p>\n<p>如果 <code>left</code> 的值为<code>&#39;left&#39;</code>, <code>&#39;center&#39;</code>, <code>&#39;right&#39;</code>,组件会根据相应的位置自动对齐。</p>\n","default":"auto"},"top":{"type":["string","number"],"description":"<p>组件的视图离容器上侧的距离。</p>\n<p><code>top</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比,也可以是 <code>&#39;top&#39;</code>, <code>&#39;middle&#39;</code>, <code>&#39;bottom&#39;</code>。</p>\n<p>如果 <code>top</code> 的值为<code>&#39;top&#39;</code>, <code>&#39;middle&#39;</code>, <code>&#39;bottom&#39;</code>,组件会根据相应的位置自动对齐。</p>\n","default":"auto"},"right":{"type":["string","number"],"description":"<p>组件的视图离容器右侧的距离。</p>\n<p><code>right</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比。</p>\n<p>默认自适应。</p>\n","default":"auto"},"bottom":{"type":["string","number"],"description":"<p>组件的视图离容器下侧的距离。</p>\n<p><code>bottom</code> 的值可以是像 <code>20</code> 这样的具体像素值,可以是像 <code>&#39;20%&#39;</code> 这样相对于容器高宽的百分比。</p>\n<p>默认自适应。</p>\n","default":"auto"},"width":{"type":["string","number"],"description":"<p>组件的视图宽度。</p>\n","default":"auto"},"height":{"type":["string","number"],"description":"<p>组件的视图高度。</p>\n","default":"auto"}}},{"type":["Object"],"description":"<p>曲面图。支持通过 <a href=\"#series-surface.parametric\">parametric</a> 绘制<a href=\"https://en.wikipedia.org/wiki/Parametric_surface\" target=\"_blank\">参数曲面</a>。</p>\n<p>下图就是一个配置成金属材质的类似一个金属零件的参数曲面。</p>\n<p><img width=\"500\" height=\"auto\" src=\"documents/asset/gl/img/parametric-surface.png\"></p>\n","properties":{"type":{"type":["string"],"description":"","default":"'surface'"},"name":{"type":["string"],"description":"<p>系列名称,用于<a href=\"http://echarts.baidu.com/option.html#tooltip\" target=\"_blank\">tooltip</a>的显示,<a href=\"http://echarts.baidu.com/option.html#legend\" target=\"_blank\">legend</a> 的图例筛选,在 <code>setOption</code> 更新数据和配置项时用于指定对应的系列。</p>\n"},"coordinateSystem":{"type":["string"],"description":"<p>该系列使用的坐标系,可选:</p>\n<ul>\n<li><p><code>&#39;cartesian3D&#39;</code></p>\n<p> 使用三维笛卡尔坐标系,通过 <a href=\"#series-.grid3DIndex\">grid3DIndex</a> 指定相应的三维笛卡尔坐标系组件。</p>\n</li>\n</ul>\n","default":"cartesian3D"},"grid3DIndex":{"type":["number"],"description":"<p>使用的 <a href=\"#grid3D\">grid3D</a> 组件的索引。默认使用第一个 <a href=\"#grid3D\">grid3D</a> 组件。</p>\n","default":0},"parametric":{"type":["boolean"],"description":"<p>是否为参数曲面。</p>\n","default":false},"wireframe":{"type":["Object"],"description":"<p>曲面图的网格线。</p>\n","properties":{"show":{"type":["boolean"],"description":"<p>是否显示网格线。默认显示。</p>\n","default":true},"lineStyle":{"type":["Object"],"description":"<p>网格线的样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"#222"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":1}}}}},"equation":{"type":["Object"],"description":"<p>曲面的函数表达式。如果需要展示的是函数曲面,可以不设置 <a href=\"#series-surface.data\">data</a>,通过 <a href=\"#series-surface.equation\">equation</a> 去声明函数表达式。例如通过下面这个函数可以模拟波纹效果。</p>\n<pre><code class=\"lang-js\">equation: {\n x: {\n step: 0.1,\n min: -3,\n max: 3,\n },\n y: {\n step: 0.1,\n min: -3,\n max: 3,\n },\n z: function (x, y) {\n return Math.sin(x * x + y * y) * x / 3.14\n }\n}\n</code></pre>\n","properties":{"x":{"type":["Object"],"description":"<p>自变量 x。</p>\n","properties":{"step":{"type":["number"],"description":"<p>x 的步长。</p>\n"},"min":{"type":["number"],"description":"<p>x 的最小值。</p>\n"},"max":{"type":["number"],"description":"<p>x 的最大值。</p>\n"}}},"y":{"type":["Object"],"description":"<p>自变量 y。</p>\n","properties":{"step":{"type":["number"],"description":"<p>y 的步长。</p>\n"},"min":{"type":["number"],"description":"<p>y 的最小值。</p>\n"},"max":{"type":["number"],"description":"<p>y 的最大值。</p>\n"}}},"z":{"type":["Function"],"description":"<p>因变量 z。</p>\n<p>z 为关于 <a href=\"#series-surface.equation.x\">x</a>, <a href=\"#series-surface.equation.y\">y</a> 的函数。</p>\n<pre><code class=\"lang-js\">(x: number, y: number) =&gt; number\n</code></pre>\n"}}},"parametricEquation":{"type":["Object"],"description":"<p>曲面的<a href=\"https://zh.wikipedia.org/wiki/%E5%8F%83%E6%95%B8%E6%96%B9%E7%A8%8B\" target=\"_blank\">参数方程</a>。在不设置 <a href=\"#series-surface.data\">data</a>,可以通过 <a href=\"#series-surface.equation\">parametricEquation</a> 去声明参数参数方程。在 <a href=\"#series-surface\">parametric</a> 为<code>true</code>时有效。</p>\n<p>参数方程是 <a href=\"#series-surface.parametricEquation.x\">x</a>, <a href=\"#series-surface.parametricEquation.y\">y</a>, <a href=\"#series-surface.parametricEquation.z\">z</a> 关于参数 <a href=\"#series-surface.parametricEquation.u\">u</a>,<a href=\"#series-surface.parametricEquation.v\">v</a> 的方程。\n下面的参数方程就是绘制前面图中类似一个金属零件的参数曲面的。</p>\n<pre><code class=\"lang-js\">var aa = 0.4;\nvar r = 1 - aa * aa;\nvar w = sqrt(r);\n...\nparametricEquation: {\n u: {\n min: -13.2,\n max: 13.2,\n step: 0.5\n },\n v: {\n min: -37.4,\n max: 37.4,\n step: 0.5\n },\n x: function (u, v) {\n var denom = aa * (pow(w * cosh(aa * u), 2) + aa * pow(sin(w * v), 2))\n return -u + (2 * r * cosh(aa * u) * sinh(aa * u) / denom);\n },\n y: function (u, v) {\n var denom = aa * (pow(w * cosh(aa * u), 2) + aa * pow(sin(w * v), 2))\n return 2 * w * cosh(aa * u) * (-(w * cos(v) * cos(w * v)) - (sin(v) * sin(w * v))) / denom;\n },\n z: function (u, v) {\n var denom = aa * (pow(w * cosh(aa * u), 2) + aa * pow(sin(w * v), 2))\n return 2 * w * cosh(aa * u) * (-(w * sin(v) * cos(w * v)) + (cos(v) * sin(w * v))) / denom\n }\n}\n</code></pre>\n","properties":{"u":{"type":["Object"],"description":"<p>自变量 u。</p>\n","properties":{"step":{"type":["number"],"description":"<p>u 的步长。</p>\n"},"min":{"type":["number"],"description":"<p>u 的最小值。</p>\n"},"max":{"type":["number"],"description":"<p>u 的最大值。</p>\n"}}},"v":{"type":["Object"],"description":"<p>自变量 v。</p>\n","properties":{"step":{"type":["number"],"description":"<p>v 的步长。</p>\n"},"min":{"type":["number"],"description":"<p>v 的最小值。</p>\n"},"max":{"type":["number"],"description":"<p>v 的最大值。</p>\n"}}},"x":{"type":["Function"],"description":"<p>x 为关于 <a href=\"#series-surface.equation.u\">u</a>, <a href=\"#series-surface.equation.v\">v</a> 的函数。</p>\n<pre><code class=\"lang-js\">(u: number, v: number) =&gt; number\n</code></pre>\n"},"y":{"type":["Function"],"description":"<p>x 为关于 <a href=\"#series-surface.equation.u\">u</a>, <a href=\"#series-surface.equation.v\">v</a> 的函数。</p>\n<pre><code class=\"lang-js\">(u: number, v: number) =&gt; number\n</code></pre>\n"},"z":{"type":["Function"],"description":"<p>x 为关于 <a href=\"#series-surface.equation.u\">u</a>, <a href=\"#series-surface.equation.v\">v</a> 的函数。</p>\n<pre><code class=\"lang-js\">(u: number, v: number) =&gt; number\n</code></pre>\n"}}},"itemStyle":{"type":["Object"],"description":"<p>曲面的颜色和不透明度等样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1}}},"data":{"type":["Array"],"description":"<p>曲面图的数据数组。</p>\n<p>数据是线性存储的数组,包含<code>X 顶点数</code>x<code>Y 顶点数</code>个数据。一个 5 x 5 的曲面共有 25 个顶点,数据在数组中的索引如下</p>\n<p><img width=\"400\" height=\"auto\" src=\"documents/asset/gl/img/surface-index.png\"></p>\n<p>上图使用的数据:</p>\n<pre><code class=\"lang-js\">data: [\n [-1,-1,0],[-0.5,-1,0],[0,-1,0],[0.5,-1,0],[1,-1,0],\n [-1,-0.5,0],[-0.5,-0.5,1],[0,-0.5,0],[0.5,-0.5,-1],[1,-0.5,0],\n [-1,0,0],[-0.5,0,0],[0,0,0],[0.5,0,0],[1,0,0],\n [-1,0.5,0],[-0.5,0.5,-1],[0,0.5,0],[0.5,0.5,1],[1,0.5,0],\n [-1,1,0],[-0.5,1,0],[0,1,0],[0.5,1,0],[1,1,0]\n]\n</code></pre>\n<p>每一项分别为 <code>x</code>, <code>y</code>, <code>z</code>。</p>\n<p>对于参数方程来说,每一项需要存储五个数据,分别是 <code>x</code>, <code>y</code>, <code>z</code> 和参数 <code>u</code>, <code>v</code>。而数据的索引按照<code>u</code>, <code>v</code> 的顺序。例如下面的数据:</p>\n<pre><code class=\"lang-js\">data: [\n // v 为 0,u 从 -3.14 到 3.13\n [0,0,1,-3.14,0],[0,0,1,-1.57,0],[0,0,1,0,0],[0,0,1,1.57,0],[0,0,1,3.14,0],\n // v 为 1.57,u 从 -3.14 到 3.13\n [0,-1,0,-3.14,1.57],[-1,0,0,-1.57,1.57],[0,1,0,0,1.57],[1,0,0,1.57,1.57],[0,-1,0,3.14,1.57],\n // v 为 3.14,u 从 -3.14 到 3.13\n [0,0,-1,-3.14,3.14],[0,0,-1,-1.57,3.14],[0,0,-1,0,3.14],[0,0,-1,1.57,3.14],[0,0,-1,3.14,3.14]]\n]\n</code></pre>\n<p>有些时候我们需要指定每个数据项的名称,这时候需要每个项为一个对象:</p>\n<pre><code class=\"lang-js\">[{\n // 数据项的名称\n name: &#39;数据1&#39;,\n // 数据项值\n value: [12, 14, 10]\n}, {\n name: &#39;数据2&#39;,\n value: [34, 50, 15]\n}]\n</code></pre>\n<p>需要对个别内容指定进行个性化定义时:</p>\n<pre><code class=\"lang-js\">[{\n name: &#39;数据1&#39;,\n value: [12, 14, 10]\n}, {\n // 数据项名称\n name: &#39;数据2&#39;,\n value : [34, 50, 15],\n //自定义特殊itemStyle,仅对该item有效\n itemStyle:{}\n}]\n</code></pre>\n","items":{"type":"Object","properties":{"name":{"type":["string"],"description":"<p>数据项名称。</p>\n"},"value":{"type":["Array"],"description":"<p>数据项值。</p>\n"},"itemStyle":{"type":["Object"],"description":"<p>单个数据项的样式设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1}}}}}},"shading":{"type":["string"],"description":"<p>曲面图中三维图形的着色效果,echarts-gl 中支持下面三种着色方式</p>\n<ul>\n<li><p><code>&#39;color&#39;</code>\n只显示颜色,不受光照等其它因素的影响。</p>\n</li>\n<li><p><code>&#39;lambert&#39;</code>\n通过经典的 <a href=\"https://en.wikipedia.org/wiki/Lambertian_reflectance\" target=\"_blank\">lambert</a> 着色表现光照带来的明暗。</p>\n</li>\n<li><p><code>&#39;realistic&#39;</code>\n真实感渲染,配合 <a href=\"#globe.light.ambientCubemap\">light.ambientCubemap</a> 和 <a href=\"#globe.postEffect\">postEffect</a> 使用可以让展示的画面效果和质感有质的提升。ECharts GL 中使用了<a href=\"https://www.marmoset.co/posts/physically-based-rendering-and-you-can-too/\" target=\"_blank\">基于物理的渲染(PBR)</a> 来表现真实感材质。</p>\n</li>\n</ul>\n"},"realisticMaterial":{"type":["Object"],"description":"<p>真实感材质相关的配置项,在 <a href=\"#series-surface.shading\">shading</a> 为<code>&#39;realistic&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0},"roughness":{"type":["number","string","HTMLImageElement","HTMLCanvasElement"],"description":"<p><code>roughness</code>属性用于表示材质的粗糙度,<code>0</code>为完全光滑,<code>1</code>完全粗糙,中间的值则是介于这两者之间。</p>\n<p>下图是 <a href=\"#globe\">globe</a> 中<code>roughness</code>分别是<code>0.2</code>(光滑)与<code>0.8</code>(粗糙)的效果</p>\n<p><img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-gloss.png\">\n<img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-rough.png\"></p>\n<p>当你想要表达更复杂的材质时。你可以直接将 <code>roughness</code> 设置为如下用每个像素存储粗糙度的贴图。</p>\n<p><img width=\"300\" height=\"300\" src=\"documents/asset/gl/img/roughness.png\"></p>\n<p>贴图中颜色越白的地方值越大,也就是越粗糙。你可以从 <a href=\"http://freepbr.com/\" target=\"_blank\">http://freepbr.com/</a> 等资源网站获取不同材质的贴图资源,也可以自己使用工具生成。</p>\n","default":0.5},"metalness":{"type":["number","string","HTMLImageElement","HTMLCanvasElement"],"description":"<p><code>metalness</code>属性用于表示材质是金属还是非金属,<code>0</code>为非金属,<code>1</code>为金属,中间的值则是介于这两者之间,但是通常设成<code>0</code>和<code>1</code>就能满足大部分场景了</p>\n<p>下图是 <a href=\"#globe\">globe</a> 中<code>metalness</code>分别设成<code>1</code>与<code>0</code>的效果区别。</p>\n<p><img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-metal.png\">\n<img width=\"auto\" height=\"280\" src=\"documents/asset/gl/img/globe-non-metal.png\"></p>\n<p>跟 <a href=\"#series-surface.realisticMaterial.roughness\">roughness</a> 一样 你可以直接将 <code>metalness</code> 设置为金属度贴图。</p>\n","default":0},"roughnessAdjust":{"type":["number"],"description":"<p>粗糙度调整,在使用粗糙度贴图的时候有用。可以对贴图整体的粗糙度进行调整。默认为 0.5 的时候不调整,0 的时候变成完全光滑,1 的时候变成完全粗糙。</p>\n","default":0.5},"metalnessAdjust":{"type":["number"],"description":"<p>金属度调整,在使用金属度贴图的时候有用。可以对贴图整体的金属度进行调整。默认为 0.5 的时候不调整,0 的时候变成非金属,1 的时候变成金属。</p>\n","default":0.5},"normalTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的法线贴图。</p>\n<p>使用法线贴图可以在较少的顶点下依然表现出物体表面丰富的明暗细节。</p>\n"}}},"lambertMaterial":{"type":["Object"],"description":"<p>lambert 材质相关的配置项,在 <a href=\"#series-surface.shading\">shading</a> 为<code>&#39;lambert&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0}}},"colorMaterial":{"type":["Object"],"description":"<p>color 材质相关的配置项,在 <a href=\"#series-surface.shading\">shading</a> 为<code>&#39;color&#39;</code>时有效。</p>\n","properties":{"detailTexture":{"type":["string","HTMLImageElement","HTMLCanvasElement"],"description":"<p>材质细节的纹理贴图。</p>\n"},"textureTiling":{"type":["number"],"description":"<p>材质细节纹理的平铺。默认为 1,也就是拉伸填满,大于 1 的时候数字表示纹理平铺重复的次数</p>\n<p><strong>注:</strong>使用平铺需要 <code>detailTexture</code> 的高宽是 2 的 n 次方。例如 512x512,如果是 200x200 的纹理无法使用平铺。</p>\n","default":1},"textureOffset":{"type":["number"],"description":"<p>材质细节纹理的位移。</p>\n","default":0}}},"zlevel":{"type":["number"],"description":"<p>组件所在的层。</p>\n<p><code>zlevel</code>用于 Canvas 分层,不同<code>zlevel</code>值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁(例如有动画)的组件设置成一个单独的<code>zlevel</code>。需要注意的是过多的 Canvas 会引起内存开销的增大,在手机端上需要谨慎使用以防崩溃。</p>\n<p><code>zlevel</code> 大的 Canvas 会放在 <code>zlevel</code> 小的 Canvas 的上面。</p>\n<p><strong>注:</strong> echarts-gl 中组件的层需要跟 echarts 中组件的层分开。同一个 zlevel 不能同时用于 WebGL 和 Canvas 的绘制。</p>\n","default":-10},"silent":{"type":["boolean"],"description":"<p>图形是否不响应和触发鼠标事件,默认为 false,即响应和触发鼠标事件。</p>\n","default":false},"animation":{"type":["boolean"],"description":"<p>是否开启动画。</p>\n","default":true},"animationDurationUpdate":{"type":["number"],"description":"<p>过渡动画的时长。</p>\n","default":500},"animationEasingUpdate":{"type":["string"],"description":"<p>过渡动画的缓动效果。</p>\n","default":"cubicOut"}}},{"type":["Object"],"description":"<p><code>polygons3D</code> 用于可视化地图上带有高度信息的多边形数据,常用于建筑群的绘制。下图就是用<code>polygons3D</code>绘制的近 50w 数量的纽约建筑群。</p>\n<p><img width=\"900\" height=\"auto\" src=\"documents/asset/gl/img/polygons3D-ny.jpg\"></p>\n","properties":{"type":{"type":["string"],"description":"","default":"'polygons3D'"},"multiPolygon":{"type":["boolean"],"description":"<p>是否一个数据包含多个多边形。</p>\n","default":true},"itemStyle":{"type":["Object"],"description":"<p>图形样式,包括颜色,透明度,描边等。</p>\n","properties":{"color":{"type":["string","Function"],"description":"<p>图形的颜色。 默认从全局调色盘 <a href=\"http://echarts.baidu.com/option.html#color\" target=\"_blank\">option.color</a> 获取颜色 </p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1}}},"emphasis":{"type":["Object"],"description":"<p>鼠标 hover 高亮时图形和标签的样式</p>\n","properties":{"itemStyle":{"type":["Object"],"description":"","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1}}}}},"data":{"type":["Object"],"description":"<p>多边形的数据列表。</p>\n<pre><code class=\"lang-js\">data: [{\n // A square\n coords: [[0, 0], [100, 0], [100, 100], [0, 100]],\n // Height\n height: 3\n}, {\n // A triangle\n coords: [[50, 0], [100, 100], [0, 100]],\n // Height\n height: 5\n}]\n</code></pre>\n","properties":{"coords":{"type":["Array"],"description":"<p>多边形的坐标列表。如果 <a href=\"#series-polygons3D.multiPolygon\">multiPolygon</a> 设成 true,则是包含多个多边形的数组。</p>\n"}}},"progressiveThreshold":{"type":["number"],"description":"<p>启用渐进渲染的阈值,渐进渲染可以让你在加载画面的过程中不会有阻塞。</p>\n","default":1000},"progressive":{"type":["number"],"description":"<p>渐进渲染每次渲染的数据量。</p>\n","default":1000}}},{"type":["Object"],"description":"<p>使用 WebGL 绘制的二维散点/气泡图。</p>\n<p>使用方式同 <a href=\"http://echarts.baidu.com/option.html#series-scatter\" target=\"_blank\">scatter</a>。</p>\n","properties":{"type":{"type":["string"],"description":"","default":"'scatterGL'"},"name":{"type":["string"],"description":"<p>系列名称,用于<a href=\"http://echarts.baidu.com/option.html#tooltip\" target=\"_blank\">tooltip</a>的显示,<a href=\"http://echarts.baidu.com/option.html#legend\" target=\"_blank\">legend</a> 的图例筛选,在 <code>setOption</code> 更新数据和配置项时用于指定对应的系列。</p>\n"},"coordinateSystem":{"type":["string"],"description":"<p>使用的坐标系。</p>\n<p>同 <a href=\"http://echarts.baidu.com/option.html#series-scatter.coordinateSystem\" target=\"_blank\">scatter.coordinateSystem</a></p>\n","default":"'cartesian2d'"},"symbol":{"type":["string"],"description":"<p>散点的形状。默认为圆形。</p>\n<p>ECharts 提供的标记类型包括 \n<code>&#39;circle&#39;</code>, <code>&#39;rect&#39;</code>, <code>&#39;roundRect&#39;</code>, <code>&#39;triangle&#39;</code>, <code>&#39;diamond&#39;</code>, <code>&#39;pin&#39;</code>, <code>&#39;arrow&#39;</code>, <code>&#39;none&#39;</code></p>\n<p>可以通过 <code>&#39;path://&#39;</code> 将图标设置为任意的矢量路径。这种方式相比于使用图片的方式,不用担心因为缩放而产生锯齿或模糊,而且可以设置为任意颜色。路径图形会自适应调整为合适(如果是 <code>symbol</code> 的话就是 <code>symbolSize</code>)的大小。路径的格式参见 <a href=\"http://www.w3.org/TR/SVG/paths.html#PathData\" target=\"_blank\">SVG PathData</a>。可以从 Adobe Illustrator 等工具编辑导出。</p>\n","default":"'circle'"},"symbolSize":{"type":["number","Array","Function"],"description":"<p>标记的大小,可以设置成诸如 <code>10</code> 这样单一的数字,也可以用数组分开表示宽和高,例如 <code>[20, 10]</code> 表示标记宽为<code>20</code>,高为<code>10</code>。</p>\n<p>如果需要每个数据的图形大小不一样,可以设置为如下格式的回调函数:</p>\n<pre><code class=\"lang-js\">(value: Array|number, params: Object) =&gt; number|Array\n</code></pre>\n<p>其中第一个参数 <code>value</code> 为 <a href=\"#series-.data\">data</a> 中的数据值。第二个参数<code>params</code> 是其它的数据项参数。</p>\n","default":10},"itemStyle":{"type":["Object"],"description":"<p>散点图的样式设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":0.8},"borderWidth":{"type":["number"],"description":"<p>图形描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>图形描边颜色。</p>\n","default":"'#fff'"}}},"data":{"type":["Array"],"description":"<p>散点图的数据集。</p>\n<p>数据格式同 <a href=\"http://echarts.baidu.com/option.html#series-scatter.data\" target=\"_blank\">scatter.data</a></p>\n","items":{"type":"Object","properties":{"name":{"type":["string"],"description":"<p>数据项名称。</p>\n"},"value":{"type":["number","Array"],"description":"<p>数据项值</p>\n"},"itemStyle":{"type":["Object"],"description":"<p>单个数据图形的样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":0.8},"borderWidth":{"type":["number"],"description":"<p>图形描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>图形描边颜色。</p>\n","default":"'#fff'"}}}}}},"blendMode":{"type":["string"],"description":"<p>混合模式,目前支持<code>&#39;source-over&#39;</code>,<code>&#39;lighter&#39;</code>,默认使用的<code>&#39;source-over&#39;</code>是通过 alpha 混合,而<code>&#39;lighter&#39;</code>是叠加模式,该模式可以让数据集中的区域因为叠加而产生高亮的效果。</p>\n","default":"'source-over'"},"zlevel":{"type":["number"],"description":"<p>组件所在的层。</p>\n<p><code>zlevel</code>用于 Canvas 分层,不同<code>zlevel</code>值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁(例如有动画)的组件设置成一个单独的<code>zlevel</code>。需要注意的是过多的 Canvas 会引起内存开销的增大,在手机端上需要谨慎使用以防崩溃。</p>\n<p><code>zlevel</code> 大的 Canvas 会放在 <code>zlevel</code> 小的 Canvas 的上面。</p>\n<p><strong>注:</strong> echarts-gl 中组件的层需要跟 echarts 中组件的层分开。同一个 zlevel 不能同时用于 WebGL 和 Canvas 的绘制。</p>\n","default":10},"progressiveThreshold":{"type":["number"],"description":"<p>启用渐进渲染的阈值,渐进渲染可以让你在加载画面的过程中不会有阻塞。</p>\n","default":100000},"progressive":{"type":["number"],"description":"<p>渐进渲染每次渲染的数据量。</p>\n","default":100000}}},{"type":["Object"],"description":"<p>使用 WebGL 绘制的关系图,支持大规模的网络/关系数据的布局和绘制。</p>\n","properties":{"type":{"type":["string"],"description":"","default":"'graphGL'"},"name":{"type":["string"],"description":"<p>系列名称,用于<a href=\"http://echarts.baidu.com/option.html#tooltip\" target=\"_blank\">tooltip</a>的显示,<a href=\"http://echarts.baidu.com/option.html#legend\" target=\"_blank\">legend</a> 的图例筛选,在 <code>setOption</code> 更新数据和配置项时用于指定对应的系列。</p>\n"},"layout":{"type":["string"],"description":"<p>布局的算法,支持使用 gephi 的 <a href=\"https://github.com/gephi/gephi/wiki/Force-Atlas-2\" target=\"_blank\">forceAtlas2</a> 算法布局。</p>\n","default":"'forceAtlas2'"},"forceAtlas2":{"type":["Object"],"description":"<p><a href=\"https://github.com/gephi/gephi/wiki/Force-Atlas-2\" target=\"_blank\">forceAtlas2</a> 布局算法。</p>\n<p>该算法对大规模的网络数据有着高效的布局效率和稳定的布局结果。</p>\n<p>支持通过 <a href=\"#series-graphGL.forceAtlas2.GPU\">forceAtlas2.GPU</a> 配置为 GPU 还是 CPU 布局。</p>\n<p>CPU 实现的优势是兼容性好,而 GPU 实现在高端显卡中有着数十倍甚至上百倍的性能优势。</p>\n<p>下面是在 GTX1070 和 i7 4GHz 的电脑中对一个 2w 个节点,近 5w 条边的关系图一次布局的迭代的性能对比。</p>\n<p><img width=\"400\" height=\"auto\" src=\"documents/asset/gl/img/gpu-layout-perf.png\"></p>\n","properties":{"GPU":{"type":["boolean"],"description":"<p>是否启用 GPU 布局。</p>\n","default":true},"steps":{"type":["number"],"description":"<p>一次更新的迭代次数。因为力引导算法通常会把每次迭代的结果都绘制出来,但是因为绘制时间往往会大于布局的时间,会导致布局的效率降低,这时候我们可以设置更大的<code>steps</code>参数,保证布局和绘制的时间均衡,加快布局的速度。</p>\n","default":1},"stopThreshold":{"type":["number"],"description":"<p>停止布局的阈值,当布局的全局速度因子小于这个阈值时停止布局。设为 0 则永远不停止。</p>\n","default":1},"barnesHutOptimize":{"type":["boolean"],"description":"<p>是否开启 <a href=\"https://en.wikipedia.org/wiki/Barnes%E2%80%93Hut_simulation\" target=\"_blank\">Barnes Hut</a> 优化,在 <a href=\"#series-graphGL.forceAtlas2.GPU\">forceAtlas2.GPU</a> 为 false 时有效。</p>\n<p>默认在节点数 &gt; 1000时开启。</p>\n"},"repulsionByDegree":{"type":["number"],"description":"<p>是否根据节点边的数量来计算节点的斥力因子,建议开启。</p>\n","default":true},"linLogMode":{"type":["boolean"],"description":"<p>是否是<code>lin-log</code>模式。<code>lin-log</code> 模式会让聚类的节点更加紧凑。</p>\n","default":false},"gravity":{"type":["number"],"description":"<p>节点受到的向心力。这个力会让节点像中心靠拢。</p>\n","default":1},"gravityCenter":{"type":["Array"],"description":"<p>向心力中心的位置。默认去初始位置的中间点。</p>\n"},"scaling":{"type":["number"],"description":"<p>布局的缩放因子,值越大则节点间的斥力越大。</p>\n"},"edgeWeightInfluence":{"type":["number"],"description":"<p>边权重的影响因子。值越大,则边权重对于引力的影响也越大。</p>\n<p>注:这个因子是指数级的,因此在边权重为<code>0</code>和<code>1</code>的时候无效。</p>\n","default":1},"edgeWeight":{"type":["Array","number"],"description":"<p>边的权重分布。映射自 <a href=\"#series-graphGL.links.value\">links.value</a>。</p>\n<p>支持设置为单个数字,这时候就是统一的权重值。</p>\n","default":"[1, 4]"},"nodeWeight":{"type":["Array","number"],"description":"<p>节点的权重分布。映射自 <a href=\"#series-graphGL.nodes.value\">nodes.value</a>。</p>\n<p>支持设置为单个数字,这时候就是统一的权重值。</p>\n","default":"[1, 4]"},"preventOverlap":{"type":["boolean"],"description":"<p>是否开启防止节点重叠。</p>\n","default":false}}},"symbol":{"type":["string"],"description":"<p>散点的形状。默认为圆形。</p>\n<p>ECharts 提供的标记类型包括 \n<code>&#39;circle&#39;</code>, <code>&#39;rect&#39;</code>, <code>&#39;roundRect&#39;</code>, <code>&#39;triangle&#39;</code>, <code>&#39;diamond&#39;</code>, <code>&#39;pin&#39;</code>, <code>&#39;arrow&#39;</code>, <code>&#39;none&#39;</code></p>\n<p>可以通过 <code>&#39;path://&#39;</code> 将图标设置为任意的矢量路径。这种方式相比于使用图片的方式,不用担心因为缩放而产生锯齿或模糊,而且可以设置为任意颜色。路径图形会自适应调整为合适(如果是 <code>symbol</code> 的话就是 <code>symbolSize</code>)的大小。路径的格式参见 <a href=\"http://www.w3.org/TR/SVG/paths.html#PathData\" target=\"_blank\">SVG PathData</a>。可以从 Adobe Illustrator 等工具编辑导出。</p>\n","default":"'circle'"},"symbolSize":{"type":["number","Array","Function"],"description":"<p>标记的大小,可以设置成诸如 <code>10</code> 这样单一的数字,也可以用数组分开表示宽和高,例如 <code>[20, 10]</code> 表示标记宽为<code>20</code>,高为<code>10</code>。</p>\n<p>如果需要每个数据的图形大小不一样,可以设置为如下格式的回调函数:</p>\n<pre><code class=\"lang-js\">(value: Array|number, params: Object) =&gt; number|Array\n</code></pre>\n<p>其中第一个参数 <code>value</code> 为 <a href=\"#series-.data\">data</a> 中的数据值。第二个参数<code>params</code> 是其它的数据项参数。</p>\n","default":5},"itemStyle":{"type":["Object"],"description":"<p>节点的样式设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1},"borderWidth":{"type":["number"],"description":"<p>图形描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>图形描边颜色。</p>\n","default":"'#fff'"}}},"lineStyle":{"type":["Object"],"description":"<p>关系边的样式设置。</p>\n","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"#aaa"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":1}}},"data":{"type":["Array"],"description":"<p>节点的数据集。</p>\n<p>数据格式同 <a href=\"http://echarts.baidu.com/option.html#series-graph.data\" target=\"_blank\">graph.data</a></p>\n","items":{"type":"Object","properties":{"name":{"type":["string"],"description":"<p>数据项名称。</p>\n"},"value":{"type":["number","Array"],"description":"<p>数据项值</p>\n"},"itemStyle":{"type":["Object"],"description":"<p>单个节点的样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>图形的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"自适应"},"opacity":{"type":["number"],"description":"<p>图形的不透明度。</p>\n","default":1},"borderWidth":{"type":["number"],"description":"<p>图形描边宽度。</p>\n","default":0},"borderColor":{"type":["string"],"description":"<p>图形描边颜色。</p>\n","default":"'#fff'"}}}}}},"nodes":{"type":["Array"],"description":"<p>同 <a href=\"#series-graphGL.data\">graphGL.data</a></p>\n"},"links":{"type":["Array"],"description":"<p>节点间的关系数据。\n数据格式同 <a href=\"http://echarts.baidu.com/option.html#series-graph.links\" target=\"_blank\">graph.links</a></p>\n","items":{"type":"Object","properties":{"source":{"type":["string"],"description":"<p>边的源节点名称的字符串,也支持使用数字表示源节点的索引。</p>\n"},"target":{"type":["string"],"description":"<p>边的目标节点名称的字符串,也支持使用数字表示源节点的索引。</p>\n"},"value":{"type":["number"],"description":"<p>边的数值。</p>\n"},"lineStyle":{"type":["Object"],"description":"<p>单条边的样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>线条的颜色。</p>\n<p>除了颜色字符串外,支持使用数组表示的 RGBA 值,例如:</p>\n<pre><code class=\"lang-js\">// 纯白色\n[1, 1, 1, 1]\n</code></pre>\n<p>使用数组表示的时候,每个通道可以设置大于 1 的值用于表示 HDR 的色值。</p>\n","default":"#aaa"},"opacity":{"type":["number"],"description":"<p>线条的不透明度。</p>\n","default":1},"width":{"type":["number"],"description":"<p>线条的宽度。</p>\n","default":1}}}}}},"edges":{"type":["Array"],"description":"<p>同 <a href=\"#series-graphGL.links\">graphGL.links</a></p>\n"},"zlevel":{"type":["number"],"description":"<p>组件所在的层。</p>\n<p><code>zlevel</code>用于 Canvas 分层,不同<code>zlevel</code>值的图形会放置在不同的 Canvas 中,Canvas 分层是一种常见的优化手段。我们可以把一些图形变化频繁(例如有动画)的组件设置成一个单独的<code>zlevel</code>。需要注意的是过多的 Canvas 会引起内存开销的增大,在手机端上需要谨慎使用以防崩溃。</p>\n<p><code>zlevel</code> 大的 Canvas 会放在 <code>zlevel</code> 小的 Canvas 的上面。</p>\n<p><strong>注:</strong> echarts-gl 中组件的层需要跟 echarts 中组件的层分开。同一个 zlevel 不能同时用于 WebGL 和 Canvas 的绘制。</p>\n","default":10}}},{"type":["Object"],"description":"<p><code>flowGL</code> 组件通过 WebGL 实现的粒子效果可视化向量场的迹线。</p>\n<p>下图是全球的风场通过<code>flowGL</code>可视化后的效果。</p>\n<p><img width=\"700\" height=\"auto\" src=\"documents/asset/gl/img/flowGL-wind.jpg\"></p>\n","properties":{"type":{"type":["string"],"description":"","default":"'flowGL'"},"particleDensity":{"type":["number"],"description":"<p>粒子的密度,实际的粒子数量是设置数目的平方。粒子密度越大迹线效果越好,但是性能开销也会越大。除了该属性,将 <a href=\"#series-flowGL.particleType\">particleType</a> 也可以得到更加清晰连贯的迹线。</p>\n","default":128},"particleType":{"type":["string"],"description":"<p>粒子的类型,默认为点 <code>&#39;point&#39;</code>,可以设置成线 <code>&#39;line&#39;</code>,线类型的粒子会用一条线连接上个运动位置和当前运动位置。会让这个轨迹更加连贯。</p>\n<p>下面是类型分别是<code>&#39;point&#39;</code>和<code>&#39;line&#39;</code>的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/flowGL-point.jpg\" width=\"100%\" title=\"Point\">\n <img src=\"documents/asset/gl/img/flowGL-line.jpg\" width=\"100%\" title=\"Line\">\n</div>\n","default":"'point'"},"particleSize":{"type":["number"],"description":"<p>粒子的大小,如果 <a href=\"#series-flowGL.particleType\">particleType</a> 是 <code>&#39;line&#39;</code> 的话则会通过线宽的形式表现。</p>\n","default":1},"particleSpeed":{"type":["number"],"description":"<p>粒子的速度,默认为 1。注意在 <a href=\"#series-flowGL.particleType\">particleType</a> 为 <code>&#39;point&#39;</code> 的时候过大的速度会让整个轨迹变得断断续续。</p>\n","default":1},"particleTrail":{"type":["number"],"description":"<p>粒子的轨迹长度,数值越大轨迹越长。</p>\n","default":2},"supersampling":{"type":["number"],"description":"<p>画面的超采样比率,采用<code>4</code>的超采样可以有效的提高画面的清晰度,减少画面锯齿。但是因为需要处理更多的像素数量,所以也对性能有更高的要求。</p>\n<p>下面分别是没有超采样和超采样值为 4 的区别。</p>\n<div class=\"twentytwenty-container\" style=\"width: 700px;\">\n <img src=\"documents/asset/gl/img/flowGL-noss.jpg\" width=\"100%\" title=\"No supersampling\">\n <img src=\"documents/asset/gl/img/flowGL-ss.jpg\" width=\"100%\" title=\"Supersampling=4\">\n</div>\n","default":1},"gridWidth":{"type":["number","string"],"description":"<p>传入的网格数据的网格宽度数量,<code>flowGL</code> 会根据这个值和 <a href=\"#series-flowGL.gridHeight\">gridHeight</a> 创建存储向量场的浮点纹理,用于粒子的轨迹计算。</p>\n","default":"'auto'"},"gridHeight":{"type":["number","string"],"description":"<p>传入的网格数据的网格高度数量。</p>\n","default":"'auto'"},"data":{"type":["Array"],"description":"<p>向量场数据,包含向量的位置和向量的方向(包含大小)。<code>flowGL</code> 对数据的存储顺序和没有强制性要求,你甚至可以传入比较稀疏的向量数据。</p>\n<p>如下示例</p>\n<pre><code class=\"lang-js\">data: [\n // 每个数据项包含四个值,表示位置的 lng, lat 以及相应维度上的速度 sLng, sLat.\n // 如果是直角坐标系上的话则是表示位置的 x, y 以及相应维度上的速度 sx, sy\n [0, 0, 1, 1], [1, 0, 1, 1],\n [0, 1, 1, 1], [1, 1, 1, 1]\n];\n</code></pre>\n<p>默认<code>flowGL</code>会根据规整的网格形数据自动计算 <a href=\"#series-flowGL.gridWidth\">gridWidth</a> 和 <a href=\"#series-flowGL.gridHeight\">gridHeight</a>。但是因为 flowGL 也支持相对稀疏的数据格式,也可以手动指定这两个值。</p>\n"},"itemStyle":{"type":["Object"],"description":"<p>向量场迹线的样式。</p>\n","properties":{"color":{"type":["string"],"description":"<p>向量场迹线的颜色。更多的是按照上面图中演示的通过<code>visualMap</code>组件去编码向量的大小。</p>\n","default":"'#fff'"},"opacity":{"type":["number"],"description":"<p>向量场迹线的透明度。</p>\n","default":0.8}}}}}]},"description":"<p>系列列表。每个系列通过 <code>type</code> 决定自己的图表类型。</p>\n<p>echarts-gl 加入了丰富的三维可视化类型,包括 <a href=\"#series.bar3D\">三维柱状图 bar3D</a>,<a href=\"#series.scatter3D\">三维散点图 scatter3D</a>,<a href=\"#series.lines3D\">三维飞线 lines3D</a>,<a href=\"#series.surface\">曲面图 surface</a>,大部分可视化类型都能在多种坐标系组件中使用。而且与 echarts 原先的图例,tooltip 等交互组件有良好的集成。</p>\n<p>同时对原先二维的图表也有功能上的增强,对于大量数据的散点图和关系图,你可以使用 echarts-gl 中提供的 <a href=\"#series.scatterGL\">scatterGL</a>,<a href=\"#series.graphGL\">graphGL</a> 加速绘制和运算。</p>\n"}}}}