EXT.NET 使用总结(3)--动态图表
动态生成雷达图--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
Highcharts
这两款都是比较优秀的图表插件。当然就雷达图而言,小白觉得还是ext的比较漂亮。
更多图表请看小白的博文 http://www.cnblogs.com/WangJinYang/archive/2012/06/19/2554594.html
欢迎博友的意见和建议。
EXT.NET 使用总结(3)--动态图表的更多相关文章
- EXCEL 2010学习笔记—— 动态图表
今天梳理一下动态图表的相关内容,做一个简单的整理 关键的操作点: 1.插入动态控制器:开发工具->插入->表单控件 对控件进行修改 右键 设置控件格式->单元格链接 用来作为if ...
- 使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示
原文:使用Visifire+ArcGIS API for Silverlight实现Graphic信息的动态图表显示 首先来看一看实现的效果: PS:原始的程序中更新曲线数据时添加了过渡的效果,具体可 ...
- 开源来自百度商业前端数据可视化团队的超漂亮动态图表--ECharts
开源来自百度商业前端数据可视化团队的超漂亮动态图表--ECharts 本人项目中最近有需要图表的地方,偶然发现一款超级漂亮的动态图标js图表控件,分享给大家,觉得好用的就看一下.更多更漂亮的演示大家可 ...
- PPT里面实现动态图表
今天又被学生提问,可不可以在PPT中做类似Excel中的动态图表?Excel里实现动态图表的方法通常是将图表关联到一个固定的数据区域,然后通过其他单元格的值或者控件来改变该固定区域的数据,以达到动态改 ...
- mbos之动态图表设计
前言 所谓,一图胜千言.人脑有80%的部分专门用于视觉处理.而随着数据时代的全面来临,我们自然有必要将数据转化为图形与图表. Mbos是一个快速,稳定的云端轻应用开发平台.帮助企业快速开发移动应用,加 ...
- Excel动态图表
动态图表其实一点都不难,真的!先看效果,然后教你一步步实现.这是每个地区经销跟代销的数据.Step 01在开发工具插入表单控件.Step 02将表单控件调整到合适的大小,并设置控件格式.Step 03 ...
- 如何使用DAX函数解决动态图表标题
您可能知道,Power BI中的图表(以及许多其他可视化)具有可以设置为任何静态文本的标题.您可以通过选择图表,转到“可视化对象”窗格中的“格式”选项卡,然后更改“标题”部分中的属性(如下所示)来完成 ...
- Java学习---JFreeChart动态图表
JFreeChart是Java中开源的制图组件,主要用于生成各种动态图表.在Java的图形报表技术中,JFreeChart组件提供了方便.快捷.灵活的制图方法.作为一个功能强大的图形报表组件,JFre ...
- jxls实现动态图表
此文章是基于 jxls实现基于excel模板的报表 一. 制作excel动态图表模板 1. 安装 excel 2003 ,新建文件,命名为:runRecord.xls 2. 创建两个表格,分别命名为: ...
随机推荐
- 一个ListView怎么展示两种样式
private class MyBaseMsgAdapter extends BaseAdapter { //获取数据适配器中条目类型的总数,修改成两种(纯文本,输入+文字) @Override pu ...
- Xamarin.Forms 简介
An Introduction to Xamarin.Forms 来源:http://developer.xamarin.com/guides/cross-platform/xamarin-forms ...
- (转)EasyUI-datagrid-自动合并单元格
1.目标 1.1表格初始化完成后,已经自动合并好需要合并的行: 1.2当点击字段排序后,重新进行合并: 2.实现 2.1 引入插件 /** * author ____′↘夏悸 * create dat ...
- C#设置输入框只输入数字
为输入框添加keyPress事件,然后添加代码: || e.KeyChar > ) && e.KeyChar != && e.KeyChar != &&a ...
- solr 安装
1:solr简介 solr是一个开源的搜索引擎,是对lucene做了封装,对外提供类似于webservice接口, 可以使用http请求的方式对solr进行操作. lucene.solr.elasti ...
- 查找Linux中内存和CPU使用率最高的进程
下面的命令会查看到按照RAM和CPU降序方式的前最高几名进程的列表: [root@iZ25pvjcsyhZ ~]# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem ...
- SQL Server 积累
2016-11-24 sql语句修改某表某字段的数据类型和字段长度: 问题是在修改老功能中暴露出来的,我修改了图片上传功能,结果报图片路径超出数据库字段规定长度,我检查数据库后发现之前设计数据库的人将 ...
- Android的Intent.FLAG_ACTIVITY_CLEAR_TOP无效
转载:http://blog.csdn.net/u011361576/article/details/48626237 今天写代码遇到了一个问题: 当 B - A - B 跳转的时候,使用Intent ...
- gulp自动刷新和css、js压缩
之前搭建过Grunt,但是用起来有点繁琐,后来有人跟我说gulp更多简单.所以今天又搭建一个gulp.在使用gulp前应该有nodeJs环境,安装完nodejs后,就可以开始gulp的搭建了. 先新建 ...
- HTML5 图片本地压缩上传插件「localResizeIMG」
移动应用中用户往往需要上传照片,但是用户上传的照片尺寸通常很大,而手机的流量却很有限,所以在上传前对图像进行压缩是很有必要的. 原生应用可以直接对文件进行处理,网页应用就没有这个优势了.不过 canv ...