- 浏览: 186539 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
di1984HIT:
记录一下。嘿嘿
eclipse中关闭js报错的方法 -
di1984HIT:
谢谢,学习了
jdk输出带缩进格式xml的方法 -
雪狐狼:
为何,每次查询需要 构建datatable?
YUI DataTable 服务器端翻页与排序 -
lijunwyf41:
nd:"nd", // 表示已经发送请求的 ...
jqGrid <-- json --> spring,hibernate之服务器端分页,排序 -
yiyu:
最近不看YUI了,发现一个国产的前端框架,是金蝶出的,叫Ope ...
YUI 3 学习笔记(5)- Attribute类
ExtJs提供了绘制图表的功能,可以绘制折线图、条形图和饼图。这里是一个从servlet获取数据绘制折线图和饼图的例子。下图是最后的结果:
客户端html代码如下:
客户端chart.js代码如下:
其中第一句Ext.chart.Chart.CHART_URL = '../ext/resources/charts.swf';是为了使用当前服务器的文件,如果没有这句话,默认会去adobe的站点取。
折线图和饼图的数据都是通过JsonStore取得的,可以通过url属性指定提供数据的地址,通过baseParam属性指定参数,其实这两个就是向服务器发送POST命令的url地址和参数。
折线图和饼图都是通过Panel的items属性定义的。折线图的xtype是linechart,x轴和y轴通过xField,和yField定义。饼图的xtype是piechart,分类通过categoryField定义,数据通过dataField定义。两者都可以通过listeners定义事件响应函数,这里分别定义了鼠标点击事件。
以下是服务器端的servlet的代码片段:
服务器端比较简单,根据参数分别返回折线图和饼图的数据。
客户端html代码如下:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>chart demo</title> <link rel="stylesheet" type="text/css" href="../ext/resources/css/ext-all.css" /> <script type="text/javascript" src="../ext/adapter/ext/ext-base-debug.js"></script> <script type="text/javascript" src="../ext/ext-all-debug.js"></script> <script type="text/javascript" src="chart.js"></script> </head> <body> <div id="line-chart"></div> <div id="pie-chart"></div> </body> </html>
客户端chart.js代码如下:
Ext.chart.Chart.CHART_URL = '../ext/resources/charts.swf'; Ext.onReady(function() { var lineStore = new Ext.data.JsonStore({ autoDestroy : true, url : '/extapp/ChartServlet', baseParams : { 'type' : 'line' }, root : 'data', fields : ['name', 'visits', 'views'] }); lineStore.load(); // extra extra simple new Ext.Panel({ title : '线图', renderTo : 'line-chart', width : 300, height : 200, layout : 'fit', items : { xtype : 'linechart', store : lineStore, xField : 'name', yField : 'visits', listeners : { itemclick : function(o) { var rec = lineStore.getAt(o.index); Ext.Msg.alert('Item Selected', 'You chose ' + rec.get('name')); } } } }); var pieStore = new Ext.data.JsonStore({ autoDestroy : true, url : '/extapp/ChartServlet', baseParams : { 'type' : 'pie' }, root : 'data', fields : ['season', 'total'] }); pieStore.load(); // extra extra simple new Ext.Panel({ title : '饼图', renderTo : 'pie-chart', width : 300, height : 300, layout : 'fit', items : { xtype : 'piechart', store : pieStore, dataField : 'total', categoryField : 'season', extraStyle : { legend : { display : 'bottom', padding : 5, font : { family : 'Tahoma', size : 13 } } }, listeners : { itemclick : function(o) { var rec = pieStore.getAt(o.index); Ext.Msg.alert('Item Selected', 'You chose ' + rec.get('season')); } } } }); });
其中第一句Ext.chart.Chart.CHART_URL = '../ext/resources/charts.swf';是为了使用当前服务器的文件,如果没有这句话,默认会去adobe的站点取。
折线图和饼图的数据都是通过JsonStore取得的,可以通过url属性指定提供数据的地址,通过baseParam属性指定参数,其实这两个就是向服务器发送POST命令的url地址和参数。
折线图和饼图都是通过Panel的items属性定义的。折线图的xtype是linechart,x轴和y轴通过xField,和yField定义。饼图的xtype是piechart,分类通过categoryField定义,数据通过dataField定义。两者都可以通过listeners定义事件响应函数,这里分别定义了鼠标点击事件。
以下是服务器端的servlet的代码片段:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println("doPost"); String type = request.getParameter("type"); System.out.println("type = " + type); PrintWriter out = response.getWriter(); if (type.equals("line")) { out.print(lineChartData()); } else if (type.equals("pie")) { out.print(pieChartData()); } } private String lineChartData() { StringBuilder sb = new StringBuilder(); sb.append("{"); sb.append(" data : [{"); sb.append(" name : 'Jul 07',visits : 245000,views : 3000000"); sb.append(" },{"); sb.append(" name : 'Aug 07',visits : 205000,views : 3000000"); sb.append(" },{"); sb.append(" name : 'Sep 07',visits : 115000,views : 3000000"); sb.append(" },{"); sb.append(" name : 'Oct 07',visits : 255000,views : 3000000"); sb.append(" },{"); sb.append(" name : 'Nov 07',visits : 345000,views : 3000000"); sb.append(" },{"); sb.append(" name : 'Dec 07',visits : 315000,views : 3000000"); sb.append(" }]"); sb.append("}"); return sb.toString(); } private String pieChartData() { StringBuilder sb = new StringBuilder(); sb.append("{"); sb.append(" data : [{"); sb.append(" season: 'Summer',total: 150"); sb.append(" },{"); sb.append(" season: 'Fall',total: 245"); sb.append(" },{"); sb.append(" season: 'Winter',total: 117"); sb.append(" },{"); sb.append(" season: 'Spring',total: 184"); sb.append(" }]"); sb.append("}"); return sb.toString(); }
服务器端比较简单,根据参数分别返回折线图和饼图的数据。
发表评论
-
使用fuelux tree
2016-04-19 21:06 2697bootstrap这么火,就是fuelux又是同一家推 ... -
eclipse中关闭js报错的方法
2013-05-18 12:35 1550eclipse中引入yui报错,关闭validation后不 ... -
YUI:带checkbox的TreeView的赋值与读值
2010-09-10 16:08 2170日前做一个用户权限管 ... -
YUI DataTable不显示标题栏的方法
2010-09-07 14:32 1701今天碰到一个怪异的需求,用YUI做的表格不要各字段的标题,即下 ... -
YUI中的模块化使用对话框
2010-08-12 16:30 3880最近在试着用YUI 2.8.1,想到一个将对话框模块化的方法, ... -
YUI 3 学习笔记(5)- Attribute类
2010-03-08 16:07 2027Attribute类用于向一个类添加属性,它给类增加了set和 ... -
YUI 3 学习笔记(4)- Base基类
2010-03-05 17:29 1543Base是一个基础类,通过继承Base可以以一种统一的方式创建 ... -
YUI 3 学习笔记(3)- Event
2010-03-03 16:02 2193YUI的Event包可以用来操 ... -
YUI 3 学习笔记(2)- Node
2010-03-01 17:46 2524Node是用来操作DOM node的工具,实际上每一个Node ... -
YUI 3 学习笔记(1)-YUI Global对象
2010-03-01 15:38 2079YUI3模块已经发布,配套的工具及部件虽然现在还不全,但也计划 ... -
html5 canvas 小试:绘制2次曲线
2010-02-23 17:27 2254canvas是html5中新增加的元素,可以用来在html中通 ... -
设置innerHTML后翻滚的奇怪现象
2010-01-28 16:47 1148最近碰到一个奇怪的问题,记录一下。 处理过程是这样的,画面的 ... -
ie和firefox上都运行流畅的网页分割条
2010-01-13 14:15 1999这两天因工作需要做了一个网页分割条,期间碰到不少问题,好在最后 ... -
检测浏览器支持的javascript版本
2010-01-05 11:31 1511今天找到一段检测浏览器支持的javascript版本的代码,感 ... -
使用YUI layout时菜单被遮挡问题的解决
2009-10-16 14:00 1430使用YUI layout时菜单被遮挡问题的解决 今天在使用Y ... -
javascript中定义类的几种方法
2009-09-02 15:59 1117在javascript中有几种定义类的方式,以下分别列出并说明 ... -
ExtJs树的动态加载
2009-08-06 10:37 4800有时候我们不希望一开始就取得整个树的数据然后初始化树,而是希望 ... -
使用Smooth Navigational Menu实现动态菜单
2009-02-10 14:34 1404在企业应用中一般需要根据登录用户的身份动态生成系统菜单,本文演 ... -
jquery学习笔记(5) AJAX
2009-02-05 10:43 11531. 添加HTML $('#dictionary').loa ... -
jquery学习笔记(4) DOM Manipulation
2009-02-04 14:43 1037本文是Learning JQuery的学习笔记 1. att ...
相关推荐
接下来,我们需要从服务器获取数据。这通常涉及到网络编程,可以使用`HttpClient`类或者`WebClient`类来发送HTTP请求。假设我们有一个API接口返回JSON格式的数据,可以使用`Newtonsoft.Json`库来解析数据: ```...
可以使用Ajax请求从服务器获取数据,然后在客户端用`Highcharts.series[0].setData()`方法更新数据。 ```javascript $.ajax({ url: 'chart_data.jsp', type: 'GET', success: function(data) { Highcharts....
总的来说,"Ajax动态获取数据渲染的Charts图表"是一个结合了Ajax和Highcharts的实例,它展示了如何从服务器获取数据并实时更新图表,为用户提供动态的、交互式的视觉体验。这个项目对于学习Web前端数据可视化和交互...
数据可以是静态数组,也可以是从服务器获取的动态数据: ```javascript var store = new Ext.data.Store({ model: 'ChartData', data: [ { name: 'Category 1', value: 10 }, // 更多数据项... ] }); ``` ...
总的来说,这个实例展示了如何通过后端(Java)与前端(JSP 和 ECharts)协作,实现动态从服务器获取数据并显示在 ECharts 图表上的过程。这种做法适用于数据量较大或者数据实时更新的情况,避免了在页面加载时一次...
动态获取数据意味着图表的数据不是在页面加载时就已知,而是通过Ajax请求从服务器获取。这可以实现图表的实时更新或者根据用户交互加载更多数据。你可以使用jQuery的`$.ajax`或`$.getJSON`方法来发送请求,获取后端...
- **数据源连接**:可以实时从数据库或其他数据源获取数据,动态更新图表。 - **自定义函数**:可以编写ActionScript代码实现更复杂的图表功能,如自定义形状、特效等。 5. **集成与兼容性**:Open Flash Chart...
例如,你可以从数据库中获取销售数据,然后用这些数据生成一个柱状图,展示每个月的销售额。 总结一下,"asp.net 图表 c#图表 chart 统计图(c#版含实例)"这个主题主要关注的是如何在ASP.NET应用中使用C#和...
在实际项目中,Chart.js通常会与Ajax技术结合,用于从服务器获取数据并动态更新图表。通过Ajax请求,前端可以异步地获取最新的数据,然后调用Chart.js的update方法更新图表内容,实现数据的实时展示。这种设计模式有...
在 `orgchart-demo` 中,可能使用了AJAX来实现动态加载数据,比如当用户展开一个组织单元时,通过AJAX请求获取子级成员的信息,然后动态添加到图表中,提高用户体验。 【组织结构图】 是一种图形化表示组织内部结构...
8. **数据绑定**:插件可能支持JSON或其他数据格式,方便从服务器获取并展示数据,实现了前后端分离的数据处理模式。 9. **事件处理**:可以绑定各种用户交互事件,如点击、悬停等,以触发相应的响应,提升图表的...
而通过AJAX,插件可以从服务器获取实时更新的数据,增加了灵活性和交互性。 2. **布局样式**:OrgChart提供了多种布局方式,如垂直(默认)、水平、自定义方向等,以适应不同场景的需求。这些布局可以通过配置参数...
1. 数据源:确定如何将数据传递给WebChart,这可能是从服务器获取的JSON数据,或是直接在JavaScript代码中定义的数组。 2. 图表类型:选择适合你数据的图表类型,例如,时间序列数据可能适合折线图,分类数据则更...
`GetData()`方法是根据实际需求从数据库或其他数据源获取数据的函数,返回一个支持数据绑定的数据集,如DataTable或List。 此外,Microsoft Chart Controls还支持多种高级特性,如交互式图表、自定义轴格式、图例、...
- **数据绑定**:WebChart控件通常需要与数据库或其他数据源进行交互,以获取图表所需的数据。可能的例子包括从SQL Server或CSV文件中提取数据,并显示为条形图、折线图或饼图。 - **自定义样式**:每个WebForm...
4. 将store与chart关联:设置chart的store属性为之前创建的store,这样chart就能从store中获取数据并显示。 对于远程加载数据,EXTJS提供两种方法: 1. 使用proxy:这是EXTJS推荐的方式。你可以为store添加一个...
在这个系统中,Ajax负责从服务器获取JSON数据,这通常通过发送HTTP请求实现,接收到响应后,再对数据进行处理。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集,易于...
4. **编写JavaScript**:使用JavaScript(可能配合jQuery等库)发送AJAX请求到服务器获取JSON数据,然后将数据传递给Open Flash Chart的SWF对象,告诉它如何绘制图表。 5. **渲染图表**:Open Flash Chart接收到数据...
在探讨“Sencha Touch2 AJAX获取数据”的主题时,我们首先需要理解Sencha Touch2框架的基本概念以及AJAX技术在其中的应用。Sencha Touch2是一个用于构建高性能、跨平台的移动应用的JavaScript库,它专注于触摸设备上...
例如,你可以使用SQLDataSource或ObjectDataSource来连接数据库,获取数据后自动填充到Chart控件中。在代码中,也可以使用`Series`对象来手动添加数据点,如: ```csharp Chart1.Series["Series1"].Points.AddXY(...