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. 创建两个表格,分别命名为: ...
随机推荐
- asp.net core输出中文乱码的问题
摘要 在学习asp.net core的时候,尝试在控制台,或者页面上输出中文,会出现乱码的问题. 问题重现 新建控制台和站点 public class Program { public static ...
- 利用exp/imp备份恢复数据库实例
用exp/imp备份数据库: Oracle数据导入导出imp/exp功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的 ...
- Spring-test使用JUnit时,测试类autowired报错,create bean error
Spring-test使用JUnit时,测试类里面使用autowired会报错, 报create bean error...... 但是controller里面@autowired可以正常运行的. 在 ...
- 11.11光棍节工作心得——github/MVP
11.11光棍节工作心得 1.根据scrum meeting thirdday中前辈的指导进行学习 我在博客中贴了链接,竟然TrackBack引来了原博主,
- HTML <input type="file">上传文件——结合asp.net的一个文件上传示例
HTML的代码:(关键是要在form里设置enctype="multipart/form-data",这样才能在提交表单时,将文件以二进制流的形式传输到服务器) 一. <fo ...
- Python 动态创建函数【转】
知乎上也有相似的问题 偶然碰到一个问题,初想是通过动态创建Python函数的方式来解决,于是调研了动态创建Python函数的方法. 定义lambda函数 在Python中定义lambda函数的写法很简 ...
- using 声明与编译指令
using std::cout; // using 声明 using namespace std; // using 编译指令,导入std里面的所有名称 一般使用using 声明,它只会导入指定的名称 ...
- (原创)RecyclerView结合xUtils2.6实现滚动时不加载item,xUtils2.6的源码分析与改造
我们知道xUtils中的bitmapUtils与listview相配合可以实现滚动时暂停加载 只需要一句话: listview.addOnScrollListener(new PauseOnScrol ...
- Python 之旅
Python2 之旅: https://funhacks.net/explore-python/ <Python Cookbook>第三版 PYTHON3 http://pyt ...
- CentOS系统中基于Apache+php+mysql的许愿墙网站的搭建
1.首先,我们需要两台虚拟机(CentOS7,Linux文本). 2.给两台虚拟机配置网络环境分别为桥接模式 CentOS7 ip为192.168.100.139.24,linux文本ip为192.1 ...