JS插件:ECharts-数据图表化-事件

主要内容: tooltip.formatter / events.legendselectchanged

一、折线图

echart官网

 

1. 先引入:echarts.common.min.js /或者: echarts.js

2. 为ECharts准备一个具备大小的DIV容器

3. js:设置参数初始化图表

 

1 <head>
2     <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
3     <meta charset="utf-8" />
4     <script src="/Scripts/jquery-2.js"></script>
5     <script type="text/javascript" src="/Scripts/echarts.min.js"></script>
6     <title>EChart图片测试</title>
7 </head>

 

<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="width: 600px;height:400px;"></div>
</body>

 

<script>
    window.onload = function () { loadChasrt() };
    function loadChasrt() {
        var dateList = ["2018-12-14 14:00:21", "2018-12-15 14:00:21", "2018-12-18 11:00:21", "2018-12-18 13:59:58"];
        var CrackValue =[2,1,12,11] ;
        var TiltAngle  =[12,11,22,11] ;
        var Temperature = [16, 11, 12, 15];
        var option = GetDefaultOption('长度-角度关系图', dateList);
        option.legend.data = ["长度", "角度", "温度"];
        option.yAxis = [
                       { boundaryGap: [0, '50%'], type: 'value', name: '长度', position: 'left', offset: 0, splitNumber: 0, splitLine: { show: true, } },
                       { boundaryGap: [0, '50%'], type: 'value', name: '角度', position: 'right', offset: 0, splitNumber: 0, splitLine: { show: true, } },
                       { boundaryGap: [0, '50%'], type: 'value', name: '温度', position: 'right', offset: 50, splitNumber: 0, splitLine: { show: true, } },
        ]
        option.series.push({ name: '长度', type: 'line', stack: '', data: CrackValue, yAxisIndex: 0, symbol: 'none' })
        option.series.push({ name: '角度', type: 'line', stack: '', data: TiltAngle, yAxisIndex: 1, symbol: 'none' })
        option.series.push({ name: '温度', type: 'line', stack: '', data: Temperature, yAxisIndex: 2, symbol: 'none' })
        option.tooltip = {
            trigger: 'axis' 
           
        };
        var myChart = echarts.init(document.getElementById('main'));
        myChart.setOption(option);
         
    } 
    
    //获取图表初始化
    function GetDefaultOption(name, dataX) {
        return {
            title: { text: name, x: 'center', y: 'top' },
            tooltip: { trigger: 'axis' },
            legend: { data: [], x: 'left', y: 'top' },
            dataZoom: { show: true, start: 0 },
            grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
            toolbox: { feature: { saveAsImage: {}, dataZoom: {}, restore: {} } },
            xAxis: { type: 'category', boundaryGap: false, data: dataX },
            yAxis: { type: 'value' },
            series: []
        };
    }

</script>
View Code:JS参数配置

 

二、设置悬浮提示(tooltip):鼠标悬浮时文字提示

官网文档-配置项 : http://www.echartsjs.com/option.html#legend.tooltip

自定义函数设置内容:

1 option.tooltip = {
2     trigger: 'axis',
3     backgroundColor: 'rgba(50,50,50,0.7)',
4     formatter: formatterSettingFun
5 }

 

 1 function formatterSettingFun(params, ticket, callback) {
 2          var res = '<div><p>注意:' + params[0].name + '</p></div>'
 3         for (var i = 0; i < params.length; i++) {
 4             var seriesName = String(params[i].seriesName);
 5             var titleName = seriesName+"值";
 6             var unit = "mm";
 7             if (i == 2)
 8             { unit = "°c"; }
 9             res += '<p  ><span  style=" background-color:' + params[i].color + '; display:inline-block ;  width:10PX;height:10PX;border-radius:50%;  
10      filter:alpha(opacity=70); -moz-opacity:0.7;-khtml-opacity: 0.7;opacity: 0.7;">
11      </span>' + titleName + ':' + params[i].data + unit + '</p>'
12         }
13         setTimeout(function () {
14             //// 仅为了模拟异步回调 
15             //callback(ticket, res);
16         }, 1000)
17         return res;
18     }

 

官网文档-配置项

 字体颜色样式设置:textStyle

 1  option.tooltip = {
 2             trigger: 'axis',
 3             textStyle: {
 4                 color: 'yellow',
 5                 decoration: 'none',
 6                 fontFamily: 'Verdana, sans-serif',
 7                 fontSize: 15,
 8                 fontStyle: 'italic',
 9                 fontWeight: 'bold'
10             },
11             formatter: formatterSettingFun
12         };

 

三、设置图例(legend)为默认未选中状态、重写图例点击事件

 图片初始化完成之后,清空图表重新设置:

   var myChart = echarts.init(document.getElementById('main'));
        myChart.setOption(option);
        //设置默认为不选中状态
        var opt = myChart.getOption();
        opt["legend"][0]["selected"]["角度"] = false;
        myChart.clear();
        myChart.setOption(opt);

 

 官网API:events.legendselectchanged

 1     //重写图例点击事件
 2         myChart.on('legendselectchanged', function (params) {
 3             alert(params.type);
 4             alert(params.name)
 5             alert(params.selected)
 6             var name = params.name;
 7             var Checked = params.selected['角度'];
 8             if (name == '角度') {
 9                
10             }
11 
12         });

 

完整的demo-源代码:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <script src="/Scripts/jquery-2.js"></script>
    <script type="text/javascript" src="/Scripts/echarts.min.js"></script>
    <title>EChart图片测试</title>
</head>


<body>
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="width: 600px;height:400px;"></div>
</body>
</html>

<script>
    window.onload = function () { loadChasrt() };
    function loadChasrt() {
        var dateList = ["2018-12-14 14:00:21", "2018-12-15 14:00:21", "2018-12-18 11:00:21", "2018-12-18 13:59:58"];
        var CrackValue =[2,1,12,11] ;
        var TiltAngle  =[12,11,22,11] ;
        var Temperature = [16, 11, 12, 15];
        var option = GetDefaultOption('长度-角度关系图', dateList);
        option.legend.data = ["长度", "角度", "温度"];
        option.yAxis = [
                       { boundaryGap: [0, '50%'], type: 'value', name: '长度', position: 'left', offset: 0, splitNumber: 0, splitLine: { show: true, } },
                       { boundaryGap: [0, '50%'], type: 'value', name: '角度', position: 'right', offset: 0, splitNumber: 0, splitLine: { show: true, } },
                       { boundaryGap: [0, '50%'], type: 'value', name: '温度', position: 'right', offset: 50, splitNumber: 0, splitLine: { show: true, } },
        ]
        option.series.push({ name: '长度', type: 'line', stack: '', data: CrackValue, yAxisIndex: 0, symbol: 'none' })
        option.series.push({ name: '角度', type: 'line', stack: '', data: TiltAngle, yAxisIndex: 1, symbol: 'none' })
        option.series.push({ name: '温度', type: 'line', stack: '', data: Temperature, yAxisIndex: 2, symbol: 'none' })
        option.tooltip = {
            trigger: 'axis',
            formatter: formatterSettingFun
        };
        var myChart = echarts.init(document.getElementById('main'));
        myChart.setOption(option);
        //设置默认为不选中状态
        var opt = myChart.getOption();
        opt["legend"][0]["selected"]["角度"] = false;
        myChart.clear();
        myChart.setOption(opt);

        myChart.on('legendselectchanged', function (params) {
            var name = params.name;
            var Checked = params.selected['角度'];
            if (name == '角度') {
                alert(1)
            }

        });

    } 
    function formatterSettingFun(params, ticket, callback) {
         var res = '<div><p>注意:' + params[0].name + '</p></div>'
        for (var i = 0; i < params.length; i++) {
            var seriesName = String(params[i].seriesName);
            var titleName = seriesName+"";
            var unit = "mm";
            if (i == 2)
            { unit = "°c"; }
            res += '<p ><span  style=" background-color:' + params[i].color + '; display:inline-block ;  width:10PX;height:10PX;border-radius:50%;  opacity:0.5;"> </span>' + titleName + ':' + params[i].data + unit + '</p>'
        }
        setTimeout(function () {
            //// 仅为了模拟异步回调 
            //callback(ticket, res);
        }, 1000)
        return res;
    }
    //获取图表初始化
    function GetDefaultOption(name, dataX) {
        return {
            title: { text: name, x: 'center', y: 'top' },
            tooltip: { trigger: 'axis' },
            legend: { data: [], x: 'left', y: 'top' },
            dataZoom: { show: true, start: 0 },
            grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
            toolbox: { feature: { saveAsImage: {}, dataZoom: {}, restore: {} } },
            xAxis: { type: 'category', boundaryGap: false, data: dataX },
            yAxis: { type: 'value' },
            series: []
        };
    }

</script>
View Code

 

转载于:https://www.cnblogs.com/July-/p/10143169.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Echarts-wordcloud.min.js是一个用于生成词云图的JavaScript库,可以用于数据可视图表展示。要进行echarts-wordcloud.min.js的下载,可以按照以下步骤进行: 1. 打开一个浏览器,进入Echarts的官方网站(https://echarts.apache.org/)。 2. 在官方网站的首页上,点击“下载”或者“Download”按钮。这个按钮一般会位于页面的顶部或者导航栏上方。 3. 进入下载页面后,可以看到有多个可选的下载版本和文件类型。找到名为“echarts-wordcloud”的相关文件,通常是一个.js文件。 4. 点击该文件的下载链接或者按钮,浏览器将会开始下载该文件。 5. 下载完成后,可以在本地计算机的特定文件夹中找到下载好的echarts-wordcloud.min.js文件。 需要注意的是,为了确保下载的文件是最新版本,建议在官方网站上进行下载。此外,还可以在官方网站上找到相关的使用文档和示例代码,以便更好地理解和应用echarts-wordcloud.min.js库。 ### 回答2: echarts-wordcloud.min.js是一个用于生成词云图的JavaScript库。要下载echarts-wordcloud.min.js,您可以按照以下步骤操作: 1. 打开您的浏览器,并访问echarts-wordcloud.min.js的官方网站或者开源库的托管网站,如GitHub。 2. 在网站的搜索栏中输入"echarts-wordcloud.min.js"或类似的关键词进行搜索。 3. 在搜索结果中找到与您所需版本匹配的echarts-wordcloud.min.js,并点击下载按钮或链接。 4. 在弹出窗口中选择保存文件的位置,并点击"保存"按钮。 5. 等待下载完成。 6. 下载完成后,您可以将echarts-wordcloud.min.js文件拷贝到您的项目文件夹中,然后通过在HTML文件中引入该文件的方式来使用。 例如,在您的HTML文件的<head>标签中添加以下代码: ```html <script src="path/to/echarts-wordcloud.min.js"></script> ``` 请注意,"path/to/echarts-wordcloud.min.js"应该替换为您实际保存文件的路径。 下载完成后,您将能够在您的网页或应用程序中使用echarts-wordcloud.min.js库来生成漂亮的词云图。如果您需要了解更多关于echarts-wordcloud.min.js的使用方法,请参考官方文档或示例代码。 ### 回答3: echarts-wordcloud.min.js 是一个 Echarts 的件,用于生成词云图表。如果需要使用这个件,可以通过以下步骤进行下载: 1. 打开 Echarts 官方网站(https://echarts.apache.org/zh/index.html)。 2. 在导航菜单中找到 "下载" 或 "下载 Echarts",点击进入下载页面。 3. 在下载页面上,可以找到一个 "ECharts 散点图组件(echarts-wordcloud)" 的链接,点击进入该页面。 4. 在该页面上,可以找到下载链接,点击链接即可开始下载 echarts-wordcloud.min.js 文件。 5. 下载完成后,将下载得到的 echarts-wordcloud.min.js 文件保存到自己的项目文件夹中。 需要注意的是,使用 echarts-wordcloud.min.js 之前,需要确保已经引入了 Echarts 的主文件,以及相关的依赖库,如 echarts.min.js 等。此外,需要根据具体项目需求进行配置和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值