Echarts图表的date数据变为从数据库中获取

动态获取Date从数据库并渲染至前端

我们以简单的例子为例,直接拿到官网的例子,如下图

option = {
  title: {
    text: 'Referer of a Website',
    subtext: 'Fake Data',
    left: 'center'
  },
  tooltip: {
    trigger: 'item'
  },
  legend: {
    orient: 'vertical',
    left: 'left'
  },
  series: [
    {
      name: 'Access From',
      type: 'pie',
      radius: '50%',
      data: [
        { value: 1048, name: 'Search Engine' },
        { value: 735, name: 'Direct' },
        { value: 580, name: 'Email' },
        { value: 484, name: 'Union Ads' },
        { value: 300, name: 'Video Ads' }
      ],
      emphasis: {
        itemStyle: {
          shadowBlur: 10,
          shadowOffsetX: 0,
          shadowColor: 'rgba(0, 0, 0, 0.5)'
        }
      }
    }
  ]
};

这是官网给的数据,我们需要加工一下,加工后的代码如下图

<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<script type="text/javascript" src="jquery.min.js"></script>
	<script type="text/javascript" src="echarts.js"></script>

	<body>
		<!-- 为 图表 准备一个定义了宽高 -->
		<div id="pie" style="width: 600px;height: 600px;"></div>
		<script type="text/javascript">
			//初始化echarts实例
			var myChart = echarts.init(document.getElementById('pie'));
			option = {
				title: {
					text: 'Referer of a Website',
					subtext: 'Fake Data',
					left: 'center'
				},
				tooltip: {
					trigger: 'item'
				},
				legend: {
					orient: 'vertical',
					left: 'left'
				},
				series: [{
					name: 'Access From',
					type: 'pie',
					radius: '50%',
					data: [{
							value: 1048,
							name: 'Search Engine'
						},
						{
							value: 735,
							name: 'Direct'
						},
						{
							value: 580,
							name: 'Email'
						},
						{
							value: 484,
							name: 'Union Ads'
						},
						{
							value: 300,
							name: 'Video Ads'
						}
					],
					emphasis: {
						itemStyle: {
							shadowBlur: 10,
							shadowOffsetX: 0,
							shadowColor: 'rgba(0, 0, 0, 0.5)'
						}
					}
				}]
			};
			myChart.setOption(option);
		</script>

</html>

效果图是下面这样的,表示我们成功画出了这个图,option相当于配置,前面我们定义了optin属性并做了详细的配置,最后一行代码serOption就是将我们配置好的optin属性给我们的图表设置上
在这里插入图片描述
二、好了,接下来需要再次加工,首先把date的数据提取出来,定义成一个var变量,当我们获取到返回结果集result时,直接修改那个var变量的值就ok了;在这里有一个坑,就是无论我们修改date值的操作是在上述代码的任何地方,显示出来的数值依然是默认值,即使测试发现date数值确实已经改变了,原因是因为程序读取到option时,直接将date默认值装进去了,根本不管你修改后的date值,所以我们的js代码又要动了,直接上代码!

<script type="text/javascript">
    // 基于准备好的dom,初始化echarts实例
    var myChart = echarts.init(document.getElementById('pie'))
    var yearPieData=[
        {value:148, name: '名字1'},
        {value:235,name: '名字2'},
        {value:78,name: '名字3'},
        {value:84,name: '名字4'},
        {value:120, name: '名字5'}
    ];
    function setYearPieData () {
        $.ajax({url:"selectTaskTypeCountYear",success:function(result){  
        //url:后代控制层的请求路径,result里放的都是后台返回的数据,我这里返回的是6个int值,count1....
                yearPieData[0].value=result.count6;
                yearPieData[1].value=result.count7;
                yearPieData[2].value=result.count8;
                yearPieData[3].value=result.count9;
                yearPieData[4].value=result.count10;
                myChart.setOption(  
                //这里很关键,不要想着先修改数据,再像官网例子一样写option配置,我们上来就直接setOption
                    {
                        title: {
                            text: '全年各名称数量占比',
                            subtext: '数量统计',
                            left: 'center'
                        },
                        tooltip: {
                            trigger: 'item'
                        },
                        legend: {
                            orient: 'vertical',
                            left: 'left'
                        },
                        series: [{
                            name: '全年各名称数量统计',
                            type: 'pie',
                            radius: '60%',
                            data:yearPieData, //就是我们上面自定义的数据
                            emphasis: {
                                itemStyle: {
                                    shadowBlur: 10,
                                    shadowOffsetX: 0,
                                    shadowColor: 'rgba(0, 0, 0, 0.5)'
                                }
                            }
                        }]
                    }
                );
            }});
    };
    setYearPieData(); //执行上面的方法,请求后台,拿到数据,修改date,设置option属性,就ok了,不用再给这个图表设置option了
</script>

这就完成了,结果就不放了,一定没问题,无论是任何图表类型,这种方法都成功,有问题再评论!

  • 0
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Echarts是一款基于JavaScript的开源可视化库,可以通过它来创建各种图表。当我们需要从数据库获取数据来展示在图表上时,可以采取以下步骤: 1. 连接数据库:首先,我们需要通过合适的方式连接到数据库。常见的数据库包括MySQL、Oracle、MongoDB等。可以使用相应的数据库连接工具,或者通过编程语言提供的库来连接数据库。 2. 查询数据:连接到数据库后,我们可以使用SQL语句或其他查询方式来获取需要的数据。可以根据具体需求编写相应的查询语句,根据数据表的结构和关系进行查询和筛选。 3. 处理数据获取数据后,我们可能需要对数据进行一些处理和转换,以便适配Echarts数据格式。例如,我们可能需要将数据库查询结果转换为JSON格式的数据,或者对日期数据进行格式化处理。 4. 传递数据Echarts:处理完数据后,我们可以将数据传递给Echarts进行图表展示。可以使用Echarts提供的API方法来将数据传递给相应的图表类型,例如柱状图、折线图等。 5. 渲染图表:一般来说,我们需要在网页创建一个容器,然后使用Echarts提供的方法将图表渲染到容器。可以通过指定容器的ID,将图表渲染到相应的位置上。 通过以上步骤,我们可以从数据库获取数据,并通过Echarts来展示在图表上。这样可以更直观地展示数据,提供给用户更好的交互和分析体验。 ### 回答2: ECharts是一款开源的数据可视化库,可以通过JavaScript编写和展示各种图表。要从数据库获取数据并将其传递给ECharts,需要以下步骤: 1. 连接数据库:首先,需要使用合适的数据库连接工具来连接数据库。常见的数据库类型包括MySQL、Oracle、SQL Server等。连接数据库需要提供数据库地址、用户名、密码等必要的凭证。 2. 查询数据:一旦连接成功,可以编写SQL查询语句来从数据库检索所需的数据。查询语句应该指定要获取的字段和表,以及任何必要的条件。例如,可以使用SELECT语句来选择特定字段的值以及满足某些条件的记录。 3. 处理数据:一旦从数据库获取数据,可以将其存储在一个合适的数据结构,例如数组或对象。可以使用服务器端的脚本语言(如PHP、Python)或客户端的JavaScript等进行数据处理,筛选和转换数据,以便ECharts可以更轻松地读取和使用这些数据。 4. 传递数据ECharts:一旦数据准备好,可以将其传递给ECharts的实例。使用ECharts的API方法,可以将数据传递给相应的图表组件,并在前端页面上展示。 总结:使用ECharts数据库获取数据需要进行数据库连接、查询数据数据处理、数据传递等步骤。这需要通过合适的数据库连接工具连接数据库,编写查询语句来选择和检索所需的数据,对数据进行处理和转换,最后将数据传递给ECharts实例,以便创建和展示相应的图表。 ### 回答3: echarts是一款基于JavaScript的数据可视化库,可以通过从数据库获取数据来生成图表。在使用echarts时,我们可以通过以下步骤来从数据库获取数据: 1. 连接数据库:首先,我们需要使用数据库连接工具,比如MySQL、Oracle或者MongoDB等,来连接数据库,以便能够访问和操作数据库数据。 2. 查询数据:一旦成功连接到数据库,我们可以使用SQL语句或者其他数据库查询命令来从数据库获取所需的数据。根据数据的类型和结构,我们可以编写相应的查询语句来获取特定的数据。 3. 数据处理:从数据库获取数据后,我们可以对数据进行一些处理,比如排序、聚合、过滤等,以便满足生成图表所需要的数据格式和要求。 4. 数据转换:将获取到的数据转换为echarts所需要的数据格式。echarts通常接受JSON格式的数据,可以通过将数据库数据转换为JSON格式,或者利用服务器端脚本语言如PHP、Python等来处理转换。 5. 生成图表:一旦完成数据的处理和转换,我们可以使用echarts提供的API,以及HTML和JavaScript等技术,来生成具体的图表。可以根据需要选择不同类型的图表,比如折线图、柱状图、饼图等,也可以进行定制化的设置和样式调整。 总之,使用echarts数据库获取数据可以通过连接数据库、查询数据数据处理、数据转换和生成图表等步骤来完成。这样我们可以将数据库数据可视化展示出来,方便用户更直观地理解和分析数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值