动态变化Echart图表信息的处理

需求

这几天做了一个简单的项目,用于做图表展示的信息,运用到了Echarts处理
(Echarts官网)。要求是可以根据左部菜单进行不停的切换展示的图表信息。简单地说就是做一个二级联动的图表展示。

开发过程中遇到的问题

Echarts使用 由于我个人不是很熟练 ,遇到了一些初学者的坑做一下说明吧
首先是初始化,引用对应的echarts脚本信息 开始调用

<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom  重点:一定要有宽高,不然不会显示  -->
    <div id="main" style="width: 600px;height:400px;"></div>
</body>
 <script type="text/javascript">
        // 基于准备好的dom,初始化echarts实例
        var myChart = echarts.init(document.getElementById('main')); 
</script>

说明:
重点 一定要有宽高,不然不会显示 我被这个地方拦到了一会儿 才发现问题(手动笑哭)

接下来就是重点了 就是id值 唯一的 但是想要重复加载图表信息时遇到了问题。
我检查过自己的接口数据 ,跟踪打印也都是正常的数据获取 也是有变化的 但是就是图表没有变化
从网上找了一些方法 但是我测试的是没有效果的 体现不出变化 例如:

<script>
	...
	myChart.setOption(option, true)
</script>

没办法又去继续寻找,终于让我找到了
可以查看脚本信息 发现每次从新加载的时候 脚本都会弹出一个警告信息
由此进行处理
警告原因:更新图表之前没有将之前的实例dispose销毁掉 又重新实例化了图表,所以报警告。
解决办法
在echarts图表设置内实例化图表之前先将之前的实例dispose销毁掉:
示例:

     /**
     *菜单切换后进行动态变换架构图信息 
     **/
    function ChangeEchart() {
        //先释放旧数据图表信息
        echarts.dispose(document.getElementById('content'));
        //从新初始化
        var myChart = echarts.init(document.getElementById('content'));
        var option = {
            tooltip: {
                trigger: 'item',
                triggerOn: 'mousemove'
            },
            series: [
                {
                    type: 'tree',
                    //数据格式是树状结构的
                    data: [fare],
                    //tree组件离容器左侧的距离
                    left: '2%',
                    //tree组件离容器右侧的距离
                    right: '2%',
                    //tree组件离容器上侧的距离
                    top: '8%',
                    //tree组件离容器下侧的距离。
                    bottom: '20%',
                    //标记的图形。
                    symbol: 'emptyCircle',
                    //树图中 正交布局 的方向  'LR' , 'RL', 'TB', 'BT'
                    orient: 'vertical',
                    //子树折叠和展开的交互  默认打开
                    expandAndCollapse: true,
                    //树图初始展开的层级(深度)
                    initialTreeDepth: 1,
                    label: {
                        //标签的位置
                        position: 'top',
                        //标签旋转  从 -90 度到 90 度。正值是逆时针
                        rotate: -90,
                        //文字垂直对齐方式,默认自动。
                        verticalAlign: 'middle',
                        //文字水平对齐方式
                        align: 'right',
                        //字体大小
                        fontSize: 14
                    },
                    //叶子节点的特殊配置
                    leaves: {
                        label: {
                            position: 'bottom',
                            rotate: -90,
                            verticalAlign: 'middle',
                            align: 'left'
                        }
                    },
                    animationDurationUpdate: 750
                }
            ]
        };
        myChart.setOption(option, true)
    }

这样 图表的变化就是一目了然的信息了。赞一个。解决了这个问题后 就写一下问题记录 便于以后查找(手动机智)

尾语

在一些项目的开发中 我们偶尔会遇到做联动,或者变化的需求 ,这个时候需要我们静下心来,打开百度,或者CSDN进行查找有没有朋友之前有遇到过类似的问题。这样有便于大家。(手动滑稽)
经常遇到联动的问题 一般情况下都可以使用Ajax方式进行处理。或者是onchange事件进行处理。方法不唯一 大家快发散的区思考吧
总之。这次动态切换图表的方式告诉大家了 但是怎么使用,在那些地方使用。这些就要看大家了 适用于我的 可能并不适用于你们哦~~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Echart是一个基于Javascript的开源可视化库,可以用于创建各种交互式图表和数据可视化展示。它具有良好的兼容性,可以在任何现代浏览器上运行。 Echart提供了丰富的图表类型,包括柱状、折线、饼、散点、雷达等等,可以满足不同的数据展示需求。通过简单的配置和API调用,我们可以轻松地创建出各种图表,并进行个性化的定制。 使用Echart来创建一个demo非常简单。首先,我们需要引入Echart的库文件,可以通过CDN方式引入,也可以下载到本地。然后,在HTML页面中创建一个具备固定宽度和高度的元素,作为容器用于放置图表。 接下来,通过创建一个Echart实例,我们可以进行图表的配置和渲染。在配置中,我们可以设置图表的样式、布局、数据和交互等属性。另外,Echart还提供了丰富的API,用于对图表进行动态更新、数据交互和事件处理。 最后,在配置完成后,我们调用Echart实例的`setOption`方法,将配置应用到图表中,即可在页面上看到我们所创建的图表了。 总之,Echart是一个功能强大、易于使用的数据可视化工具,可以帮助我们将数据以直观的方式展示出来。通过简单的操作和配置,我们可以创建出各种令人惊艳的图表,从而更好地理解和分析数据。无论是数据报告、数据分析还是展示数据,Echart都是一个非常不错的选择。 ### 回答2: Echart是一个用于可视化数据的JavaScript图表库,具有丰富的图表类型和灵活的配置选项。Echart demo指的是使用Echart库创建的示例图表Echart demo提供了各种各样的示例图表,包括折线、柱状、饼、雷达等等。通过查看这些示例,我们可以了解到Echart的基本用法和配置方式。 以柱状为例,Echart demo中的柱状示例展示了如何使用Echart库创建一个柱状并对其进行自定义。我们可以看到,通过简单的配置和数据传入,就能够实现一个酷炫的柱状效果。我们可以自定义柱状的颜色、形状、大小等,还可以添加动画效果和交互功能。 Echart demo还提供了图表的数据处理和展示方式,比如通过饼展示销售额占比、通过折线展示趋势变化等。这些示例为我们提供了直观的数据呈现方式,使得我们能够更好地理解和分析数据。 通过Echart demo,我们可以学习到如何使用Echart库去创建各种图表,并且可以根据自己的需求进行自定义。它不仅使得数据可视化变得简单和有趣,还能够提升我们的数据分析能力。 总之,Echart demo是一个非常有用的资源,通过学习其中的示例,我们可以轻松地创建和展示各种图表效果,提升数据可视化和分析能力。 ### 回答3: Echart是一个基于JavaScript的开源可视化库,用于展示丰富多样的图表形。Echart通过简单易用的API,可以轻松地创建各种类型的图表,包括折线、柱状、饼等。 Echart提供了丰富的配置选项,可以根据具体需求进行个性化定制。用户可以自定义图表的样式、颜色、标签等,以及对于数据的处理和展示方式。同时,Echart还支持响应式设计,可以自适应不同的屏幕尺寸和设备类型。 Echart demo是Echart官方提供的一些示例图表,用于帮助用户快速了解和上手Echart库。用户可以通过查看这些demo,了解如何使用Echart创建不同类型的图表,并可以参考其中的代码和配置,进行自己的图表开发。 每个Echart demo都包含了一个实际的图表展示和相应的代码实现。用户可以通过运行demo,查看图表的效果,并通过自己的调整代码,实现不同的样式和功能。 总之,Echart demo是一种学习和实践Echart的好方式,通过体验和修改这些示例图表,用户可以更深入地理解Echart的使用方法和原理,从而在实际开发中灵活运用Echart,打造出丰富多样的数据可视化效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值