ECharts 在同一个页面添加多个图表 并 给图表绑定事件

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

<!DOCTYPE html>

<head>

<meta charset="utf-8">

<title>ECharts</title>

</head>

<body>

<!-- 为ECharts准备一个具备大小(宽高)的Dom -->

<div id="barMain" style="height:400px"></div>

<div id="lineMain" style="height:400px"></div>

<!-- ECharts单文件引入 -->

<script src="http://echarts.baidu.com/build/dist/echarts.js"></script>

<script type="text/javascript">

// 路径配置

require.config({

  paths: {

    echarts: ‘http://echarts.baidu.com/build/dist‘

  }

});

// 使用

require(

      [

        ‘echarts‘,

        ‘echarts/chart/bar‘,

        ‘echarts/chart/line‘

      ],

      drawEcharts

);

function drawEcharts(ec){

  drawBar(ec);

  drawLine(ec);

}

function drawBar(ec){

  var myBarChart = ec.init(document.getElementById(‘barMain‘));

  var option = {

    tooltip: {

    show: true

  },

  legend: {

    data:[‘销量‘]

  },

  xAxis : [

    {

      type : ‘category‘,

      data : ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]

    }

  ],

  yAxis : [

    {

      type : ‘value‘

    }

  ],

  series : [

    {

      "name":"销量",

      "type":"bar",

      "data":[5, 20, 40, 10, 10, 20]

    }

  ]

};

myBarChart.setOption(option,true); //当setOption第二个参数为true时,会阻止数据合并

}

function drawLine(ec){

  var myLineChart = ec.init(document.getElementById(‘lineMain‘));

  var option2 = {

    title : {

    text: ‘未来一周气温变化‘,

    subtext: ‘纯属虚构‘

  },

  tooltip : {

    trigger: ‘axis‘

  },

  legend: {

    data:[‘最高气温‘,‘最低气温‘]

  },

  toolbox: {

    show : true,

    feature : {

      mark : {show: true},

      dataView : {show: true, readOnly: false},

      magicType : {show: true, type: [‘line‘, ‘bar‘]},

      restore : {show: true},

      saveAsImage : {show: true}

    }

  },

  calculable : true,

  xAxis : [

    {

      type : ‘category‘,

      boundaryGap : false,

      data : [‘周一‘,‘周二‘,‘周三‘,‘周四‘,‘周五‘,‘周六‘,‘周日‘]

    }

  ],

  yAxis : [

    {

      type : ‘value‘,

      axisLabel : {

        formatter: ‘{value} °C‘

      }

    }

  ],

  series : [

    {

      name:‘最高气温‘,

      type:‘line‘,

      data:[11, 11, 15, 13, 12, 13, 10],

      markPoint : {

        data : [

          {type : ‘max‘, name: ‘最大值‘},

          {type : ‘min‘, name: ‘最小值‘}

        ]

      },

      markLine : {

        data : [

          {type : ‘average‘, name: ‘平均值‘}

        ]

      }

    },

    {

      name:‘最低气温‘,

      type:‘line‘,

      data:[1, -2, 2, 5, 3, 2, 0],

      markPoint : {

        data : [

          {name : ‘周最低‘, value : -2, xAxis: 1, yAxis: -1.5}

        ]

      },

      markLine : {

        data : [

          {type : ‘average‘, name : ‘平均值‘}

        ]

      }

    }

  ]

};

myLineChart.setOption(option2,true);

}

</script>

</body>

补充:给图表绑定事件(以上面柱状图为例,绑定click事件)

?


1

2

3

4

5

6

/* 给柱状图绑定click事件 */

 var ecConfig = require(‘echarts/config‘);

 function eConsole(param) {

   alert(param.value);    // 弹出当前柱子的数值

 }

 myBarChart.on(ecConfig.EVENT.CLICK, eConsole);

这段代码加在 myBarChart.setOption(option,true); //当setOption第二个参数为true时,会阻止数据合并,这行代码上面。

-----------------------------------------------------------------------------------------------------------------------------------------------

如下:

  

 

原文地址:https://www.cnblogs.com/hellman/p/8135071.html

时间: 2024-10-10 18:57:54

ECharts 在同一个页面添加多个图表 并 给图表绑定事件的相关文章

系统管理模块_岗位管理_改进_使用ModelDroven方案_套用美工写好的页面效果_添加功能与修改功能使用同一个页面

改进_使用ModelDroven方案 @Controller @Scope("prototype") public class RoleAction extends ActionSupport implements ModelDriven<Role>{//把ModelDriven放到栈顶,帮我们封装参数 //在Action里面要用到Service,用注解@Resource,另外在RoleServiceImpl类上要添加注解@Service @Resource private

jQuery对 动态添加 的元素 绑定事件(on()的用法)

从jQuery 版本 1.7 起,on() 方法是向被选元素添加事件处理程序的(官方推荐)首选方法. 当浏览器下载完一个页面的时候就开始渲染(翻译)HTML标签,然后执行css.js代码,在执行js代码的时候就注册了相应绑定的事件,我们平常用jQuery给HTML标签绑定(单击)事件是一般这样写 $("#btnId").click(function () { //触发事件后 逻辑 });  但是对用js动态添加的元素 是无效的,即没有绑定单击事件,所以对于动态添加的标签需要用on()来

jQuery-为动态添加的元素绑定事件

样例: $("#modify_nick").click(function () { $(this).css("display","none"); $("#nickname_span").empty(); var input = document.createElement("input"); $(input).attr("type", "text"); $(input

在同一个页面使用多个不同的jQuery版本,让它们并存而不冲突

jQuery自诞生以来,版本越来越多,而且jQuery官网的新版本还在不断的更新和发布中,现已经达到了1.6.4版本,但是我们在以前的项目中就已经使用了旧版本的jQuery,比如已经出现的:1.3.X.1.4.X.1.5.X.1.6.2等等. 由于项目的需要,必然也需要不断的使用较新版的jQuery,但对于原来就已经存在并已经采用了的旧jQuery版本,我们如何让多个不同的jQuery版本在同一个页面并存而不冲突呢? 其实,利用jQuery.noConflict()特性,我们不仅可以让jQuer

在同一个页面施用多个不同的jQuery版本而不冲突的方法

jquery自诞生以来,版本越来越多,而且jQuery官网的新版本还在不断的更新和发布中,但是我们在以前的项目中就已经使用了旧版本的jQuery,比如已经出现的:1.3.X.1.4.X.1.5.X.1.6.2等等. 之前在修改前台页面的时候,就碰到过这样的问题,我用的是最新的jQuery版本,之前程序用的是老的jQuery库,因为这次是修改不是重做,所以我们弄了好久两个版本都没办法共存,最后只能二选一,修改写好的js,今天在网上看到一个让不同jQuery版本共存不冲突的方法,分享一下. 其实,利

同一个页面,加载不同版本jQuery

在同一个页面加载多个不同版本的jQuery方法: 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2 <html> 3 <head> 4 <title>在同一个页面中加载多个不同的jQuery版本</title> 5 <!-- 3.2.1 --> 6 <script type="text/javascript&quo

cefsharp wpf wpf加载svg 在同一个页面中打开链接

安装 PM> Install-Package CefSharp.Wpf 解决方案->属性->配置属性->活动解决方案平台-新建-x64 在需要使用的窗体上引用xmlns:cefSharp="clr-namespace:CefSharp.Wpf;assembly=CefSharp.Wpf" 重新生成解决方案 引用 <cefSharp:ChromiumWebBrowser Name="browser" Grid.Row="0&qu

关于利用input的file属性在页面添加图片的问题

在页面添加图片涉及到兼容的问题怎么解决兼容问题呢?请看下面分析: 在IE浏览器上面我们能直接通过获取其input的value值来获取其图片的路径. 在火狐和谷歌需要用createObjectURL((input的元素).files.item(0))来获取其路径: 现在请看代码: css设置样式部分(可以自己设置好看的样式): *{ margin: 0; padding:0; } #img{ width:50px; } .box{ width: 100px; margin:20px auto; }

h5页面添加背景音乐

[需求]h5页面添加背景音乐,支持微信.QQ.各种APP. [实现思路]1.通过audio标签,设置自动播放,是一种方法,但是此方法只适合微信.QQ,并不兼容我司的APP,需要主动触发下播放事件. 2.针对可以自动播放的渠道,通过this.audio.addEventListene监听playing事件,控制小喇叭的状态. [知识点]audio标签.addEventListener.classList [代码]封装了一个公共组件: 1 <template> 2 <div class=&q