在一个项目研发过程中,需要显示账户的资金情况,为了给客户良好的体验我们采用了柱状图形展现,绘图的过程如果使用原生态脚本绘制这样比较麻烦,时间也会比较长,所以我们选择了jqPlot插件进行绘制,这样可以节省大量的时间,也能很快就能展示给用户。

  插件官方地址:http://www.jqplot.com/

  具体实现如下:

  引用JS文件:

复制代码 代码如下:
 <link href="~/Scripts/asset/jqplot/jquery.jqplot.min.css" rel="stylesheet" />
 <link href="~/Scripts/asset/jqplot/syntaxhighlighter/styles/shCoreDefault.min.css" rel="stylesheet" />
 <link href="~/Scripts/asset/jqplot/syntaxhighlighter/styles/shThemejqPlot.min.css" rel="stylesheet" />
 <script src="/UploadFiles/2021-04-02/jquery-1.10.2.min.js">  <script type="text/javascript" src="/UploadFiles/2021-04-02/jquery.jqplot.min.js">  <script type="text/javascript" src="/UploadFiles/2021-04-02/shCore.js">  <script type="text/javascript" src="/UploadFiles/2021-04-02/shBrushJScript.js">  <script type="text/javascript" src="/UploadFiles/2021-04-02/shBrushXml.js">  <script type="text/javascript" src="/UploadFiles/2021-04-02/excanvas.min.js">  <script type="text/javascript" src="/UploadFiles/2021-04-02/jqplot.barRenderer.min.js">  <script type="text/javascript" src="/UploadFiles/2021-04-02/jqplot.categoryAxisRenderer.min.js">  <script type="text/javascript" src="/UploadFiles/2021-04-02/jqplot.pointLabels.min.js">
  Html代码

复制代码 代码如下:
<div id="chart1" class="box"></div>

  Javascript脚本:

复制代码 代码如下:
 var chartBar = function () {
         var data={param1:param1,param2:param2};//传递参数
         $("#chart1").html("");//绘图DIV
         var s1;
         $.ajax({
             type: "POST",
             url: '../Home/AccountSum',
             data: data,
             datatype: "json",
             async: false,
             success: function (d) {
                 if (d.flag) {
                     s1 = [parseFloat(d.data.Total1), parseFloat(d.data.Total2), parseFloat(d.data.Total3), parseFloat(d.data.Total4), parseFloat(d.data.Total5), parseFloat(d.data.Total6)];
                 } else {
                     s1 = [0.00, 0.00, 0.00, 0.00, 0.00, 0.00];
                 }
                 $.jqplot.config.enablePlugins = true;
                 var ticks = ['充值', '提款', '应收', '销售', '退票', '验证'];
                 var plot1 = $.jqplot('chart1', [s1], {
                     // Only animate if we're not using excanvas (not in IE 7 or IE 8)..
                     //animate: !$.jqplot.use_excanvas,
                     seriesDefaults: {
                         pointLabels: { show: true },
                         shadow: false,
                         showMarker: true, // 是否强调显示图中的数据节点
                         renderer: $.jqplot.BarRenderer,
                         rendererOptions: {
                             barWidth: 50,
                             barMargin: 50
                         }
                     },
                     axes: {
                         xaxis: {
                             show: true,    //是否自动显示坐标轴
                             renderer: $.jqplot.CategoryAxisRenderer,
                             ticks: ticks,
                             showTicks: true,        // 是否显示刻度线以及坐标轴上的刻度值 
                             showTickMarks: true,    //设置是否显示刻度
                             tickOptions: {
                                 show: true,
                                 fontSize: '14px',
                                 fontFamily: 'tahoma,arial,"Hiragino Sans GB",宋体b8b体,sans-serif',
                                 showLabel: true, //是否显示刻度线以及坐标轴上的刻度值
                                 showMark: false,//设置是否显示刻度
                                 showGridline: false // 是否在图表区域显示刻度值方向的网格
                             }
                         },
                         yaxis: {
                             show: true,
                             showTicks: false,        // 是否显示刻度线以及坐标轴上的刻度值 
                             showTickMarks: false,     //设置是否显示刻度
                             autoscale: true,
                             borderWidth: 1,
                             tickOptions: {
                                 show: true,
                                 showLabel: false,
                                 showMark: false,
                                 showGridline: true,
                                 formatString: '¥%.2f'
                             }
                         },
                     },
                     grid: {
                         drawGridLines: true,
                         drawBorder: false,
                         shadow: false,
                         borderColor: '#000000',     // 设置图表的(最外侧)边框的颜色
                         borderWidth: 1           //设置图表的(最外侧)边框宽度 
                     },
                     highlighter: { show: false }
                 });
             },
             error: function () {
                 alert("获取图形统计数据失败!");
             }
         });
     };

  效果图:

使用jQuery jqPlot插件绘制柱状图

  今天就写到这里吧,初步看了一下官方上的事例,功能还是蛮强大的,使用也很方便、容易,根据本项目的需求,后续可能还会增加一些。不过在使用过程中也发现了一些问题,部分实现不一定可以满足。

标签:
jQuery,jqPlot,绘制柱状图

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com

评论“使用jQuery jqPlot插件绘制柱状图”

暂无“使用jQuery jqPlot插件绘制柱状图”评论...

稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!

昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。

这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。

而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?