extends ../layouts/basic

block variables
    - var pageTitle = 'ECharts FAQ'

block extra_head
    title FAQ - Apache ECharts

block content
    nav(class='navbar navbar-default navbar-fixed-top', role="navigation")
        include ../components/nav

    .page-main
        .page-info
            .container
                h1 FAQ
                p 常见问题的解答
                p.page-info-echarts Apache ECharts<sup>TM</sup>

        .page-content.single-page#faq-page
            .page-nav
                h4 常见问题
                ul
            .page-detail

                h2#ask-questions 通用问题
                h3 有技术问题怎么办？
                p 1）建议您在提问前，大致阅读一下<a href="https://echarts.apache.org/zh/option.html">配置项手册</a>左侧导航，了解 ECharts 有哪些配置项，并且在相关的组件下查找是否有实现您需要功能的配置项；
                p 2）查看本页常见问题的解答；
                p 3）建议在 <a href="https://www.makeapie.com/editor.html">ECharts Gallery</a> 上添加图表，复现你的问题，如果无法使用代码描述需求，可以尝试提供设计稿或画个草图；
                p 4）推荐在 <a href="https://stackoverflow.com">stackoverflow.com</a>、<a href="https://www.oschina.net/question/tag/echarts">开源中国</a> 或 <a href="https://segmentfault.com/t/echarts">segmentfault.com</a> 等问答平台上提问，附上图表链接。

                h3 ECharts 可以免费商用吗？
                p 可以，ECharts 基于 <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License 2.0</a> 开源。

                h2#axis 坐标轴
                h3 坐标轴标签显示空间不够怎么办？
                p 可以用 <a href="https://echarts.apache.org/zh/option.html#xAxis.interval">interval</a> 控制每隔多少显示标签，设为 <code>0</code> 则显示所有标签。
                p 或者，可以设置 <a href="https://echarts.apache.org/zh/option.html#yAxis.axisLabel.rotate">axisLabel.rotate</a>，将标签旋转一定角度。

                h3 把坐标轴设置在右侧好像没有效果？
                p 需要将 <a href="https://echarts.apache.org/zh/option.html#yAxis.axisLine.onZero">onZero</a> 设为 <code>false</code> 才行。

                h3 如何强制显示坐标轴第一个/最后一个标签？
                p ECharts 3.5.2 版本起，支持 <a href="https://echarts.apache.org/zh/option.html#xAxis.axisLabel.showMinLabel">axisLabel.showMinLabel</a> 以及 <a href="https://echarts.apache.org/zh/option.html#xAxis.axisLabel.showMaxLabel">axisLabel.showMaxLabel</a>，分别用来控制第一个/最后一个标签是否强制显示，设为 <code>true</code> 则强制显示。
                p 如果不方便更新版本，可以参考<a href="https://www.makeapie.com/editor.html?c=xry06afSje">这个例子</a>实现同样的效果。



                h2#legend 图例 legend
                h3 图例区域太大导致遮挡住图表怎么办？
                p 可以设置 <a href="https://echarts.apache.org/zh/option.html#grid">grid</a> 控制图表区域位置。例如将 <code>grid.top</code> 设置得大一些，可以将绘图区域下移。
                p 在未来的版本中，我们计划会将布局做得更智能，自动处理这些遮挡问题。



                h2#line-chart 折线图
                h3 坐标轴刻度好像和数据不匹配？
                p 请检查一下是否设置了 <code>stack</code>，如果不是想做堆积折线图的话，应该将其去掉。



                h2#bar-chart 柱状图
                h3 为什么数据值很小的时候，y 轴的刻度会消失？
                p ECharts 3.5.2 版本修复了该问题。



                h2#map-chart 地图
                h3 图表上的省份名称重叠，如何修改名称的位置？
                p 可以修改地图文件（JS 或 JSON）中对应省份的 <code>cp</code> 坐标，或者通过 <code>echarts.getMap('china')</code> 修改已加载的地图数据。
                p 更详细的做法请参考：
                    a(href='https://github.com/apache/echarts/issues/4379#issuecomment-257765948') GitHub

                h3 其他国家的地图在哪里下载？
                p 可以在<a href="https://github.com/echarts-maps/echarts-countries-js">这里</a>下载到其他国家的地图信息。

                h3 如何获取地图的缩放事件？
                p 首先，需要将系列的 <a href="https://echarts.apache.org/zh/option.html#series-map.roam">roam</a> 设置为 <code>true</code>，然后可以监听 <code>'georoam'</code> 事件。例：
                pre
                    code
                        | myChart.on('georoam', function (params) {
                        |    console.log(params);
                        | });
                p 参见这个<a href="https://www.makeapie.com/editor.html?c=xHyqn_rQ6g">完整的例子</a>。

                h3 如何制作自定义地图？
                p ECharts 地图在地图坐标的基础上进行过<a href="https://github.com/apache/echarts/blob/8eeb7e5abe207d0536c62ce1f4ddecc6adfdf85e/src/util/mapData/rawData/encode.js">额外的编码</a>。可以使用 <a href="https://github.com/giscafer/mapshaper-plus">mapshaper-plus</a> 工具，上传自定义的 geojson 文件，生成 ECharts 可以使用的地图文件。



                h2#baidu-map 百度地图
                h3 如何结合百度地图使用 ECharts？
                ol
                    li 引入 <code>echarts.js</code>、<code>bmap.js</code> 以及 <code>https://api.map.baidu.com/api?v=2.0&ak=这里填在百度开发平台注册得到的 access key</code>；
                    li 在 <code>option</code> 中设置 <code>bmap</code>，参考<a href="https://echarts.apache.org/examples/zh/editor.html?c=effectScatter-bmap">这个例子</a>；
                    li 如需获得百度地图实例，可以通过 <code>chart.getModel().getComponent('bmap').getBMap()</code>，然后根据<a href="https://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html">百度地图 API</a>做进一步设置。
                p <a href="https://www.makeapie.com/explore.html">Gallery</a> 上有更多百度地图的例子，可作为参考。



                h2#gauge-chart 仪表盘
                h3 怎么设置仪表盘颜色？
                p 可以使用 <a href="https://echarts.apache.org/zh/option.html#series-gauge.axisLine.lineStyle.color">axisLine.lineStyle.color</a> 设置。



                h2#event 事件处理
                h3 如何获取图表点击等事件？
                p 参考<a href="https://echarts.apache.org/zh/tutorial.html#ECharts%20%E4%B8%AD%E7%9A%84%E4%BA%8B%E4%BB%B6%E5%92%8C%E8%A1%8C%E4%B8%BA">官网教程</a>。ECharts 支持的事件类型请参考<a href="https://echarts.apache.org/zh/api.html#events">相关 API</a>。



                h2#others 其他
                h3 图表为什么不显示？
                p 你可以检查以下情况：
                ul
                    li <code>echarts.js</code> 是否正常被加载；
                    li <code>echarts</code> 变量是否存在；
                    li 调用 <code>echarts.init</code> 的时候，DOM 容器是否有宽高。

                h3 ECharts 有哪些学习资料？
                p 官网是最好的学习平台。此外，在 <a href="https://www.makeapie.com">ECharts Gallery</a> 上学习别人的作品也是一个不错的选择。
                p ECharts 相关项目及资源请参见 <a href="https://github.com/ecomfe/awesome-echarts">awesome-echarts</a>。

                include ../components/inner-footer

block extra_js
    script(type='text/javascript').
        document.getElementById('nav-doc').className = 'active';
