动态生成雷达图--Radar

效果图:

aspx页面代码:

 <ext:Panel ID="ResultPanel" Border="true" runat="server">
<Items>
</Items>
</ext:Panel>

因为是动态生成图,所以只需要一个容器装载(Panel);

aspx.cs代码

         [DirectMethod(Timeout = )]//限制执行超时时间
protected void ReloadData(object sender, DirectEventArgs e)
{
Dictionary<string, Dictionary<string, double>> data = GenerateChartBySingleCorp();
ResultPanel.Controls.Clear();
Ext.Net.Panel Panel = GetGroupChart(data);
ResultPanel.Add(Panel);//把生成带有Radar图的Panel加到容器里
ResultPanel.ReRender();//重新装载容器(容器位置不变)
// ResultPanel.Render();重新装载容器(容器位置根据添加子元素的顺序加载)
}
        public Ext.Net.Panel GetGroupChart(Dictionary<string, Dictionary<string, double>> data )
{
List<Datas> DataList = GetDataSource(data);//数据源 Ext.Net.Model ExtModel = new Ext.Net.Model();//定义一个mode
ExtModel.Fields.Add(new ModelField("Name", ModelFieldType.String));
Dictionary<string, double> first=data.First().Value;
Dictionary<string, string> dataMODE = new Dictionary<string, string>();
int i = ;
foreach (var item in first)
{
ExtModel.Fields.Add(new ModelField("Data"+i, ModelFieldType.Float));
dataMODE.Add("Data"+i,item.Key);
i++;
} RadialAxis ra = new RadialAxis();//定义图表类型,这里定义为 雷达图,也可以定义为线图,柱图,饼图等。
ra.Maximum = ;//最大值
ra.Steps = ;//分成几个圈
//Maximum="5" Steps="5" Chart Chart = new Chart();//定义一个chart容器
Chart.Height = ;
Chart.Width = ;
Chart.StyleSpec = "background:#fff;";
Chart.StandardTheme = StandardChartTheme.Category2;
Chart.InsetPadding = ;
Chart.Animate = true;
Chart.LegendConfig = new ChartLegend(new ChartLegend.Config() { Position = LegendPosition.Right });
foreach (var item in dataMODE)//循环加载数据集
{
RadarSeries radarseries = new RadarSeries();
List<string> XFieldFields = new List<string>();
XFieldFields.Add("Name");
List<string> YFieldFields = new List<string>();
YFieldFields.Add(item.Key);
radarseries.XField = XFieldFields.ToArray();
radarseries.YField = YFieldFields.ToArray();
radarseries.ShowInLegend = true;
radarseries.ShowMarkers = true;
radarseries.Title = item.Value; SpriteAttributes SpriteAttributes = new Ext.Net.SpriteAttributes();
SpriteAttributes.Radius = ;
SpriteAttributes.Size = ;
radarseries.MarkerConfig = SpriteAttributes; SpriteAttributes SpriteAttributes1 = new Ext.Net.SpriteAttributes();
SpriteAttributes1.StrokeWidth = ;
SpriteAttributes1.Fill = "none";
radarseries.Style = SpriteAttributes1; ChartTip ChartTip = new Ext.Net.ChartTip();
ChartTip.TrackMouse = true;
ChartTip.Width = ;
ChartTip.Height = ;
ChartTip.Renderer.Handler = "this.setTitle(storeItem.get('Name') + ': ' + storeItem.get('" + item.Key + "'));";
radarseries.Tips = ChartTip;
Chart.Series.Add(radarseries);
}
Chart.Axes.Add(ra);
Store Store = new Ext.Net.Store();
Store.Model.Add(ExtModel);
Store.Data = DataList;
Store.AutoDataBind = true;
Chart.Store.Add(Store); Ext.Net.Panel Panelp = new Ext.Net.Panel();
Panelp.Border = false;
Panelp.Height = ;
Panelp.Width = ;
Panelp.Add(Chart);
return Panelp;
}

图表总结

和雷达图一样,其他图表也是类似的定义,只是属性不同而已。具体可参考ext.net 提供的demo http://examples.ext.net/#/Chart/Area/Basic/

小白在项目中用到的其他优秀的图表插件

fashion chart

http://www.fusioncharts.com/

Highcharts

http://www.highcharts.com/

这两款都是比较优秀的图表插件。当然就雷达图而言,小白觉得还是ext的比较漂亮。

更多图表请看小白的博文 http://www.cnblogs.com/WangJinYang/archive/2012/06/19/2554594.html

欢迎博友的意见和建议。

EXT.NET 使用总结(3)--动态图表的更多相关文章

  1. EXCEL 2010学习笔记—— 动态图表

    今天梳理一下动态图表的相关内容,做一个简单的整理 关键的操作点: 1.插入动态控制器:开发工具->插入->表单控件 对控件进行修改  右键 设置控件格式->单元格链接 用来作为if ...

  2. 使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示

    原文:使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示 首先来看一看实现的效果: PS:原始的程序中更新曲线数据时添加了过渡的效果,具体可 ...

  3. 开源来自百度商业前端数据可视化团队的超漂亮动态图表--ECharts

    开源来自百度商业前端数据可视化团队的超漂亮动态图表--ECharts 本人项目中最近有需要图表的地方,偶然发现一款超级漂亮的动态图标js图表控件,分享给大家,觉得好用的就看一下.更多更漂亮的演示大家可 ...

  4. PPT里面实现动态图表

    今天又被学生提问,可不可以在PPT中做类似Excel中的动态图表?Excel里实现动态图表的方法通常是将图表关联到一个固定的数据区域,然后通过其他单元格的值或者控件来改变该固定区域的数据,以达到动态改 ...

  5. mbos之动态图表设计

    前言 所谓,一图胜千言.人脑有80%的部分专门用于视觉处理.而随着数据时代的全面来临,我们自然有必要将数据转化为图形与图表. Mbos是一个快速,稳定的云端轻应用开发平台.帮助企业快速开发移动应用,加 ...

  6. Excel动态图表

    动态图表其实一点都不难,真的!先看效果,然后教你一步步实现.这是每个地区经销跟代销的数据.Step 01在开发工具插入表单控件.Step 02将表单控件调整到合适的大小,并设置控件格式.Step 03 ...

  7. 如何使用DAX函数解决动态图表标题

    您可能知道,Power BI中的图表(以及许多其他可视化)具有可以设置为任何静态文本的标题.您可以通过选择图表,转到“可视化对象”窗格中的“格式”选项卡,然后更改“标题”部分中的属性(如下所示)来完成 ...

  8. Java学习---JFreeChart动态图表

    JFreeChart是Java中开源的制图组件,主要用于生成各种动态图表.在Java的图形报表技术中,JFreeChart组件提供了方便.快捷.灵活的制图方法.作为一个功能强大的图形报表组件,JFre ...

  9. jxls实现动态图表

    此文章是基于 jxls实现基于excel模板的报表 一. 制作excel动态图表模板 1. 安装 excel 2003 ,新建文件,命名为:runRecord.xls 2. 创建两个表格,分别命名为: ...

随机推荐

  1. SQL Server群集如何在线检测

    SQL Server群集知识介绍 Windows群集安装 基于iSCSI的SQL Server 2012群集测试 前言 群集的检测是调用dll资源,例如对于共享存储,ip,网络名称与DTC 这类Win ...

  2. [Machine Learning & Algorithm] 神经网络基础

    目前,深度学习(Deep Learning,简称DL)在算法领域可谓是大红大紫,现在不只是互联网.人工智能,生活中的各大领域都能反映出深度学习引领的巨大变革.要学习深度学习,那么首先要熟悉神经网络(N ...

  3. AngularJS下拉列表select在option动态变化之后多出了一个错误项的问题

    场景: Select初始化之后,选中select的某个选项 通过AngularJS更新select的选项 错误写法: HTML(使用ng-repeat) <div ng-app="Te ...

  4. Geoserver+Tomcat+GeoWebCache搭建地图服务

    依赖TomcatGeoserverGeoWebCache环境部署JDKTomcat服务器Geoserver配置GeoWebCache配置环境启动使用使用geowebcache进行切片 依赖 Tomca ...

  5. [转载]深入理解HTTP Session

    深入理解HTTP Session   session在web开发中是一个非常重要的概念,这个概念很抽象,很难定义,也是最让人迷惑的一个名词,也是最多被滥用的名字之一,在不同的场合,session一次的 ...

  6. easyui Datagrid查询报错Uncaught TypeError:Cannot read property 'length' of undefined

    1.问题描述 easyui中datagrid执行loadData方法出现如下异常:Cannot read property 'length' of undefined 2.一开始怀疑是js或者页面的问 ...

  7. sublime text快捷键

    Ctrl+Shift+V:粘贴并格式化Ctrl+D:选择单词,重复可增加选择下一个相同的单词Ctrl+L:选择行,重复可依次增加选择下一行Ctrl+M:跳转到对应括号Ctrl+K+B:开关侧栏Ctrl ...

  8. 天河微信小程序入门《三》:打通任督二脉,前后台互通

    原文链接:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=505&extra=page%3D1 天河君在申请到https ...

  9. CRUD操作

    1.增加 insert into 表名 values(列的值,列的值) insert into 表名(列名,列名)valuse(值,值) 2.删除 delete from 表明 delete from ...

  10. infoq 微信后台存储架构

    infoq 上微信后台存储架构 视频很是值得认真一听,大概内容摘要如下: 主要内容:同城分布式强一致,园区级容灾KV存储系统 - sync 序列号发生器      移动互联网场景下,频繁掉线重连,使用 ...