本章将介绍一些基本但常用的图形:线型图,柱状图和饼形图。

以上三种图形对于的数据都是键值对数组,请参考第一个例子:

@{
var data = new List<LineItem>();
var rd = new Random();
data.Add(new LineItem() { Name = "第一节车厢人数", Value = rd.Next(50) });
data.Add(new LineItem() { Name = "第二节车厢人数", Value = rd.Next(50) });
data.Add(new LineItem() { Name = "第三节车厢人数", Value = rd.Next(50) });
data.Add(new LineItem() { Name = "第四节车厢人数", Value = rd.Next(50) });
data.Add(new LineItem() { Name = "第五节车厢人数", Value = rd.Next(50) });
} @Html.Q().Chart().Line().SourceItem(data).ShowTool()

显示效果为:

如果大家希望以曲线方式显示,直接追加:ShowSmooth()方法即可,如果希望以区域图显示,则继续追加:ShowArea()即可。

第二个例子:动态更新

实现代码:

@Html.Q().Chart().Line().AjaxUrl("/Line/GetUpdatedData")

对应的Action实现代码为:

        public IActionResult GetUpdatedData()
{
var result = new List<LineItem>();
var rd = new Random();
result.Add(new LineItem() { Name = "第一节车厢人数", Value = rd.Next(50) });
result.Add(new LineItem() { Name = "第二节车厢人数", Value = rd.Next(50) });
result.Add(new LineItem() { Name = "第三节车厢人数", Value = rd.Next(50) });
result.Add(new LineItem() { Name = "第四节车厢人数", Value = rd.Next(50) });
result.Add(new LineItem() { Name = "第五节车厢人数", Value = rd.Next(50) });
return Json(result);
}

如果大家想实现动态更新追加的效果,则前端不动,将Action返回的数据出现新的Name即可,请参考如下例子:

      public IActionResult GetCpuUsedPercent()
{
var result = new List<LineItem>();
var rd = new Random();
result.Add(new LineItem() { Name = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Value = 100 + rd.Next(DateTime.Now.Second + 50) });
return Json(result);
}

对应的效果为:

第三个例子:柱状图与饼形图的实现。

柱状图与饼形图的使用方法和线状图一样,只是对应的控件分别为:Bar与Pie,代码如下:

@Html.Q().Chart().Bar().ShowStep().AjaxUrl("/Bar/AppendData")

@Html.Q().Chart().Pie().AjaxUrl("/Pie/AppendData").ShowTool().Title("车厢")

对于的效果图为:


总结:二维图形比较简单,但是却比较实用,希望尽可能将数据图形化展示,后面EasyMvc会尽量增加3D的显示。

更多使用示例请浏览在线示例:http://core.zwc.cn

EasyMvc入门教程-图形控件说明(21)线形图+柱状图+饼形图的更多相关文章

  1. EasyMvc入门教程-基本控件说明(8)提醒导航

    提醒导航顾名思义就是提醒大家注意某些文字了..请看下面的例子: 实现代码如下: @Html.Q().BlockRemind().Text("我可以作为提醒使用") 有的同学会说:这 ...

  2. EasyMvc入门教程-基本控件说明(11)菜单导航

    基本上,是个网站就会有菜单导航,目前流行的菜单是不是这样样子的? 似乎是bootstrap引领的风格,我们就用EasyMvc实现吧,上代码: @{ var data = new List<Men ...

  3. EasyMvc入门教程-基本控件说明(13)选项卡导航

    选项卡Tab导航主要用于企业页面显示不同子类或者子页面的信息内容. 先来一个基本的使用例子:代码如下: @{ var data = new List<TabItem>() { new Ta ...

  4. EasyMvc入门教程-基本控件说明(1)按钮

    按钮是我们最常用的控件之一了,先看下我们提供的按钮风格: 不同颜色的: 实现代码: @Html.Q().Button().Text("Danger").ColorDanger() ...

  5. EasyMvc入门教程-基本控件说明(4)折叠面板

    折叠面板一般出现在管理后台,大家用的OutLook里就是用了折叠面板,样子大概是这样的: 把其中的内容替换成图标按钮,是不是就是我们常见的样子了?:)那么如何实现呢?请看例子: @{ var data ...

  6. EasyMvc入门教程-基本控件说明(6)进度条

    进度条的发明是很牛逼的,就如12306采用了队列解决了系统崩溃的问题一样..:) 进度条大家都见过,那么我们先来实现一个简单的进度条,请看例子: @Html.Q().Progress().Value( ...

  7. EasyMvc入门教程-基本控件说明(12)栏目导航

    栏目导航一般用来显示当前页面所在的模块层级位置关系,如下图所示: 当然也有前端网站作为小栏目导航,凡是没有绝对,只要不违和就好:),下面上代码: @{ var data = new List<N ...

  8. EasyMvc入门教程-基本控件说明(2)定时器

    我们有时候希望系统能自动刷新后台数据或者做某个动作,那么定时器的作用就体现出来了. EasyMvc默认提供的服务器可以定时调前端方法与定时调后端方法,先看例子: 定时调客户端事件 实现代码: @Htm ...

  9. EasyMvc入门教程-基本控件说明(3)时间线

    我们有时候经常看到如下的页面: 或者快递物流信息图标,那么利用EasyMvc如何实现呢?很简单,看下面的例子: @{ var data=new List<TimeLineItem>() { ...

随机推荐

  1. Mybatis使用- Mybatis JdbcType与Oracle、MySql数据类型对应列表 ; Mybatis中javaType和jdbcType对应关系

    Mybatis JdbcType与Oracle.MySql数据类型对应列表  Mybatis JdbcType Oracle MySql JdbcType ARRAY     JdbcType BIG ...

  2. 并发编程——IO模型(6)

    1.IO模型分类 同步IO #所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不会返回.按照这个定义,其实绝大多数函数都是同步调用.但是一般而言,我们在说同步.异步的时候,特指那些需要 ...

  3. java 获取请求的完整url地址

    String url=request.getRequestURL()+"?"+request.getQueryString();

  4. Unity属性——AddComponentMenu

    字面理解:添加 组件选项菜单 分析:可能是添加一个脚本或者组件到一个物体上 验证: 新建一个脚本:AttributeTest 提示:添加一个组件菜单属性,允许你放一个脚本在Compoent菜单下,来代 ...

  5. JavaWeb开发小结

    JavaWeb开发是B/S开发的一种,其他语言也可以实现,就前台而言,一直都是HTML.CSS.JavaScript 后台语言可以是Perl.Python.PHP.Java等等 Java机缘巧合在We ...

  6. 【bzoj4439】[Swerc2015]Landscaping 网络流最小割

    题目描述 FJ有一块N*M的矩形田地,有两种地形高地(用‘#’表示)和低地(用‘.’表示) FJ需要对每一行田地从左到右完整开收割机走到头,再对每一列从上到下完整走到头,如下图所示 对于一个4*4的田 ...

  7. jQuery动画的hover连续触发动画bug处理

    一.问题 为元素设置hover上实现动画的效果,当鼠标反复快速进入元素时,动画会在鼠标停止后依然执行,导致动画和鼠标的动作不一致. 二.解决方法 要解决这种问题,可以使用jquery的stop()方法 ...

  8. ZOJ 2112 Dynamic Rankings(带修改的区间第K大,分块+二分搜索+二分答案)

    Dynamic Rankings Time Limit: 10 Seconds      Memory Limit: 32768 KB The Company Dynamic Rankings has ...

  9. sql 学习相关问题

    ---恢复内容开始--- 1.sql上面改变列的数据类型是 ALTER TABLE table_nameALTER COLUMN column_name datatype mysql上面是ALTER ...

  10. kubernetes 数据持久化之Glusterfs

    1.GlusterFS  部署过程请参考上篇文章 2.配置endpoints [root@manager ~]# cat glusterfs-endpoints.json { "kind&q ...