echarts怎么设置数据自动排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了echarts怎么设置数据自动排序相关的知识,希望对你有一定的参考价值。

数据都是通过sql语句排序的
1.Echarts柱状图的正常配置
注:声明了 myChart、test这两个都有用
官方示例中myChart是声明在 function(ec)里面的
<script src="http://cdn.staticfile.org/jquery/2.1.1-rc2/jquery.min.js"></script>
<script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
<script type="text/javascript">
var myChart;
var test = 10
// 路径配置
require.config(
paths:
echarts: 'http://echarts.baidu.com/build/dist'

);
// 使用
require(
[
'echarts',
'echarts/chart/bar' // 使用柱状图就加载bar模块,按需加载
],
function (ec)
// 基于准备好的dom,初始化echarts图表
myChart = ec.init(document.getElementById('divProgress'));
var option =
tooltip:
show: true
,
animation: false,
legend:
data: ['销量']
,
xAxis: [

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

],
yAxis: [

type: 'value'

],
series: [

"name": "销量",
"type": "bar",
"data": [5, 20, 40, 10, 10, 20]

]
;
// 为echarts对象加载数据
myChart.setOption(option);

);
</script>

  
2.添加 refreshData函数
在第一步放在函数外面的myChart和test都会在refreshData函数里面用上
注:option.series[0].data = data;这句的格式最重要
<script src="http://cdn.staticfile.org/jquery/2.1.1-rc2/jquery.min.js"></script>
<script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
<script type="text/javascript">
var myChart;
var test = 10
// 路径配置
require.config(
paths:
echarts: 'http://echarts.baidu.com/build/dist'

);
// 使用
require(
[
'echarts',
'echarts/chart/bar' // 使用柱状图就加载bar模块,按需加载
],
function (ec)
// 基于准备好的dom,初始化echarts图表
myChart = ec.init(document.getElementById('divProgress'));
var option =
tooltip:
show: true
,
animation: false,
legend:
data: ['销量']
,
xAxis: [

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

],
yAxis: [

type: 'value'

],
series: [

"name": "销量",
"type": "bar",
"data": [5, 20, 40, 10, 10, 20]

]
;
// 为echarts对象加载数据
myChart.setOption(option);

);

function refreshData(data)
if(!myChart)
return;


//更新数据
var option = myChart.getOption();
option.series[0].data = data;
myChart.setOption(option);

</script>

  
3.使用window.setInterval 来实现自动刷新数据
用了jQuery的,所以在第一句就引用了jQuery
<script src="http://cdn.staticfile.org/jquery/2.1.1-rc2/jquery.min.js"></script>
<script src="http://echarts.baidu.com/build/dist/echarts.js"></script>
<script type="text/javascript">
var myChart;
var test = 10
// 路径配置
require.config(
paths:
echarts: 'http://echarts.baidu.com/build/dist'

);
// 使用
require(
[
'echarts',
'echarts/chart/bar' // 使用柱状图就加载bar模块,按需加载
],
function (ec)
// 基于准备好的dom,初始化echarts图表
myChart = ec.init(document.getElementById('divProgress'));
var option =
tooltip:
show: true
,
animation: false,
legend:
data: ['销量']
,
xAxis: [

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

],
yAxis: [

type: 'value'

],
series: [

"name": "销量",
"type": "bar",
"data": [5, 20, 40, 10, 10, 20]

]
;
// 为echarts对象加载数据
myChart.setOption(option);

);

//这里用setTimeout代替ajax请求进行演示
window.setInterval(function ()
var data = [test, 5, 10, 40, 20, 10];
$.get("SQLTest.ashx",function(responseTxt,statusTxt,xhr)

test=responseTxt;
//if (statusTxt == "success")alert(test);
if (statusTxt == "error")
alert("Error: " + xhr.status + ": " + xhr.statusText);
);
data = [test, 5, 10, 40, 20, 10];
refreshData(data);
,3);

function refreshData(data)
if(!myChart)
return;


//更新数据
var option = myChart.getOption();
option.series[0].data = data;
myChart.setOption(option);

</script>

  
4.SQLTest.ashx
1.ContentType设置为text/plain
2.直接把需要返回的数据 write回来即可
<%@ WebHandler Language="C#" Class="SQLTest" %>
using System;
using System.Web;
using DAL;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
public class SQLTest : IHttpHandler
SQLHelper SQLAss = new SQLHelper();
string StrCon = ConfigurationManager.ConnectionStrings["DatabaseTest"].ConnectionString;
static int i=1;
public void ProcessRequest (HttpContext context)

context.Response.ContentType = "text/plain";
string sqlstr = "SELECT Progress FROM T_EchartData1 WHERE Num LIKE '" + i.ToString() + "'";
//SELECT Age FROM Person1 WHERE id = '2' SQL可以用等号
var dt = SQLAss.ExecuteQuery(sqlstr, CommandType.Text);//将读取的数据存到dt里面
i++;
if (i >= 6) i = 1;
context.Response.Write(Convert.ToInt32(dt.Rows[0][0].ToString()));


public bool IsReusable
get
return false;


参考技术A 直接在sql排序就可以了,order by count(*),count(*)里的*可以替换为你统计的数据字段.

以上是关于echarts怎么设置数据自动排序的主要内容,如果未能解决你的问题,请参考以下文章

echarts+x轴刻度间距是怎么回事

echarts的柱状图怎么设置单个柱子的宽度?跪求

Echarts地图自定义颜色

echarts3 grid背景色怎么设置

怎么设置echarts饼状图大小

echart 提示框里面的数据怎么设置?