Echarts读取数据库数据并展现

Echarts读取数据库数据并展现

前端

  <div id="main" style="height:400px;width:60%"></div>
    <!--echarts和jquery需自己引入-->
    <script type="text/javascript">
                var objsx = [];
                var objsy = [];
                     $.ajax({
                         type: "post",
                         async: false,
                         url: "global/Echarts1Data.ashx",   //数据接口
                         data: {},
                         dataType: "json",                          
                         error: function (errorMsg) { alert(errorMsg); },
                         success: function (result) {
                             for (var i = 0; i < result.wip.length; i++) {
                                 objsy[i] = JSON.parse(result.NUM[i]);  //以特定的JSON的格式接收数字;           
                                 objsx[i] = result.id[i];   //以JSON的方式接收字符串
                             }
                                 var myChart = echarts.init(document.getElementById('main'));
                                 var option =
                                     {
                                         title: {
                                             text: 'Product'
                                         },
                                         tooltip: {},
                                         legend: {
                                             orient: 'horizontal', 
                                              data:['NUM1','NUM2'],  //图例需要和series里的name一致
                                              textStyle: {  
                                                  color: '#000',  // 字体颜色
                                              },
                                              x: 'center',//图例位置沿Y轴居中
                                              y: 'top'
                                         },
                                         xAxis: {
                                             type: 'category',
                                             data: objsx,
                                             axisLabel: {     //横坐标只显示6个字符,剩下的省略
                                                formatter: function (value, index) {
                                                    var v = value.substring(0, 6) + '...'
                                                    return value.length > 10 ? v : value
                                                }
                                            }              
                                         },
                                         yAxis: {
                                             type: 'value'
                                         },
                                         series: [{
                                             name: 'NUM1',
                                             type: 'bar',  //柱状图
                                             data: objsy,
                                             color:['green'],  //柱子颜色
                                             barWidth:20   //柱子宽度
                                         },{
                                             name: 'NUM2',
                                             type: 'line',  //折线图
                                             data: objsy
                                         }]
                                     };                                    
                                 myChart.setOption(option);
                             }                       
                     });
    </script>

ashx

using Newtonsoft.Json;   //引入Newtonsoft用于转化为json格式
  public class Echarts1Data : IHttpHandler
    {
        OracleConnection Oracle_DB = new OracleConnection(WebConfigurationManager.AppSettings["key1"].ToString());
        public void ProcessRequest(HttpContext context)
        {
            ArrayList xAxisData = new ArrayList();
            ArrayList yAxisData = new ArrayList();
            System.Data.DataTable dt = new System.Data.DataTable();
            string sqltext = "select id as id,num as NUM from table1";
            Oracle_DB.Open();
            OracleDataAdapter oda = new OracleDataAdapter(sqltext,Oracle_DB);
            DataSet ds1 = new DataSet();
            oda.Fill(ds1,"product");
            DataTable dt1 = new DataTable();
            dt1=ds1.Tables["product"];
            Oracle_DB.Close();
            for (int i = 0; i < dt1.Rows.Count; i++)   //将datatable数据存入到数组中
            {
                yAxisData.Add(dt1.Rows[i].ItemArray[1]);  //NUM
                xAxisData.Add(dt1.Rows[i].ItemArray[0]);  //id
            }
            var obj = new
            {
                id= xAxisData,
                NUM= yAxisData
            };
            string strjson = JsonConvert.SerializeObject(obj);   //用Newtonsoft,将两个数据一起序列化传递给echarts
            context.Response.Write(strjson);
        }
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ECharts是一款开源的JavaScript可视化库,它能够帮助开发者在网页上制作各种各样的图表,如柱状图、折线图、散点图、饼图、雷达图、地图等等。如果想要通过ECharts读取数据库数据画环形图,需要以下步骤: 1. 连接数据库 首先需要用语言如PHP、Java、Python等程序语言连接数据库,从中读取数据。这些语言都有相应的数据库连接类,可以根据具体情况进行选择和使用。 2. 处理数据数据库读取数据后,需要对数据进行处理。环形图通常需要两个数据,一个是名称,一个是数量。因此需要将从数据库中获取的数据按照这个格式进行处理。 3. 使用ECharts绘制环形图 处理数据后,就可以使用ECharts绘制环形图了。ECharts提供了很多种类型的图表,这里选择环形图。绘制环形图需要先在HTML页面中引入ECharts的js文件,然后创建一个div容器,设置其宽度和高度,代码如下: ``` <div id="chart" style="width: 600px;height:400px;"></div> <script src="echarts.js"></script> ``` 接下来需要在js文件中编写绘制环形图的代码,代码如下: ``` // 基于准备好的dom,初始化echarts实例 var myChart = echarts.init(document.getElementById('chart')); // 指定图表的配置项和数据 var option = { title : { text: '环形图', subtext: '演示数据' }, tooltip : { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" }, legend: { orient: 'vertical', left: 'left', data: ['数据1','数据2','数据3','数据4','数据5'] }, series : [ { name: '环形图', type: 'pie', radius : '55%', center: ['50%', '60%'], data:[ {value:335, name:'数据1'}, {value:310, name:'数据2'}, {value:234, name:'数据3'}, {value:135, name:'数据4'}, {value:1548, name:'数据5'} ], itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] }; // 使用刚指定的配置项和数据显示图表。 myChart.setOption(option); ``` 其中,option是图表的配置项和数据,可以根据实际需求进行修改。在数据中,value表示数量,name表示名称,需要将从数据库中处理好的数据放到data中即可。最后使用setOption方法将图表显示在网页上。 4. 完整代码示例 完整的代码示例如下: HTML代码: ``` <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ECharts环形图</title> <script src="echarts.js"></script> </head> <body> <div id="chart" style="width: 600px;height:400px;"></div> <script> var myChart = echarts.init(document.getElementById('chart')); var option = { title : { text: '环形图', subtext: '演示数据' }, tooltip : { trigger: 'item', formatter: "{a} <br/>{b} : {c} ({d}%)" }, legend: { orient: 'vertical', left: 'left', data: ['数据1','数据2','数据3','数据4','数据5'] }, series : [ { name: '环形图', type: 'pie', radius : '55%', center: ['50%', '60%'], data:[ {value:335, name:'数据1'}, {value:310, name:'数据2'}, {value:234, name:'数据3'}, {value:135, name:'数据4'}, {value:1548, name:'数据5'} ], itemStyle: { emphasis: { shadowBlur: 10, shadowOffsetX: 0, shadowColor: 'rgba(0, 0, 0, 0.5)' } } } ] }; myChart.setOption(option); </script> </body> </html> ``` 以上代码只是演示了一个静态的环形图,如果要从数据库读取数据,需要在js代码中添加相应的处理数据的代码,将数据放到option的data中即可。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值