- 浏览: 175058 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (186)
- [网站分类]4.其他技术区 (93)
- [网站分类]6.转载区(Java技术文章转载, 请注明原文出处) (4)
- [网站分类]3.非技术区 (7)
- [网站分类]1.网站首页原创Java技术区(对首页文章的要求: 原创、高质量、经过认真思考并精心写作。BlogJava管理团队会对首页的文章进行管理。) (28)
- HTML&CSS (0)
- 感悟生活 (4)
- c#(.net) (1)
- [网站分类]2.Java新手区 (32)
- [网站分类]5.提问区(Java方面的技术提问) (1)
- java (6)
- web前端 (7)
- php (0)
- C++ (1)
- python (0)
- 互联网应用 (0)
最新评论
-
lliiqiang:
请求单线程资源只能等待结果.
Applet 与JS通信 -
feng2qin:
期待你的精彩回到。QQ:864479410
Applet 与JS通信 -
feng2qin:
我想问一句;哥们儿,applet程序中调用js,你真的成功了嘛 ...
Applet 与JS通信 -
lyaixsp:
...
ExtJS 入门学习之 window与panel篇 -
longzijian:
不知道 java-he 现在找到数组的这种特性 的原因在那里
和网友关于javascript数组的讨论
javascript 在客户端绘制图表系列二——柱图
可适当参考 系列1 饼图 http://www.blogjava.net/JAVA-HE/archive/2007/06/29/126957.html
上面js文件保存为:bar.js,使用下面DEMO 文件的的时候,一样需要引入wz_jsgraphics.js。可以在http://www.blogjava.net/Files/JAVA-HE/pieDemo.rar 下载。
1/**//*************更多技术文章请访问:http://www.blogjava.net/JAVA-HE****************
2 *
3 * 文件名:bar.js V 1.01
4 *
5 * 作 者:何昌敏
6 *
7 * 时 间:2007-6
8 *
9 * 描 述:绘制柱图
10 *
11 * 备 注:
12 * 1.修改数据==0,出现的图形走样bug。(设置了2像素作为0的显示)
13 * 2.startx 实现水平移动。
14 * 3.实现自动比例。
15 * 4.实现实现柱的宽度自适应,分布自适应。
16 * 5.实现比较严格的参数判断。
17 * 6.实现了图像清除。
18 * 7.是否画上箭头。 在画箭头的时候可设定箭头大小。
19 *
20 * 说 明:
21 * 对于其位置的调整并没有做更多扩展,能自适应大小。
22 * 至于位置,我想直接控制div的位置比较方便。
23 * 当然还有背景的绘制,也认为修改DIV的背景,比在这里画要方便点。
24
25 * 感 谢:Walter Zorn提供了API ——wz_jsgraphics.js v. 3.01。
26 *
27*************更多技术文章请访问:http://www.blogjava.net/JAVA-HE****************/
28
29function Bar(_div)
30{
31 var barjg = new jsGraphics(_div);
32 var colors = new Array();
33 colors[0] = "#0066FF";
34 colors[1] = "#FF6633";
35 colors[2] = "#9900FF";
36 colors[3] = "#FF0066";
37 colors[4] = "#066600";
38 colors[5] = "#006633";
39 colors[6] = "#33FFFF";
40 colors[7] = "#000000";
41 colors[8] = "#FFFF00";
42 colors[9] = "#000033";
43 colors[10] = "#CCFFFF";
44 colors[11] = "#666666";
45
46 this.start_x = 40;
47 this.start_y = 0;
48 this.width=200;
49 this.height=120;
50 this.line_num=6;
51 this.y_start_x = 0;
52 this.scale=12;
53 this.IsDrawArrow = true;
54 this.ArrowLength =6;
55
56 this.drawBar = function (_y,_x)
57 {
58 var y_len = _y.length;
59 var x_len = _x.length;
60 if(y_len != x_len)
61 {
62 alert("X and Y length of inconsistencies, errors parameters.");
63 return;
64 }
65 barjg.setColor("#000000");
66 barjg.drawLine(this.start_x,this.height+this.start_y,this.width+this.start_x,this.height+this.start_y);//x line
67 barjg.drawLine(this.start_x,this.start_y,this.start_x,this.height+this.start_y);// y line
68 if(this.IsDrawArrow)
69 {
70 barjg.drawLine(this.width+this.start_x,this.height+this.start_y+this.ArrowLength,this.width+this.start_x+this.ArrowLength,this.height+this.start_y);
71 barjg.drawLine(this.width+this.start_x,this.height+this.start_y-this.ArrowLength,this.width+this.start_x+this.ArrowLength,this.height+this.start_y);
72 barjg.drawLine(this.width+this.start_x,this.height+this.start_y,this.width+this.start_x+this.ArrowLength,this.height+this.start_y);
73 barjg.drawLine(this.start_x,this.start_y-this.ArrowLength,this.start_x-this.ArrowLength,this.start_y+this.ArrowLength);
74 barjg.drawLine(this.start_x,this.start_y-this.ArrowLength,this.start_x+this.ArrowLength,this.start_y+this.ArrowLength);
75 barjg.drawLine(this.start_x,this.start_y,this.start_x,this.start_y-this.ArrowLength);
76 }
77 var max_H=0;
78 for(i=0;i<y_len;i++)
79 {
80 if(isNaN(_y[i]))
81 {
82 alert("y is not a number!");
83 return;
84 }
85 if(max_H<_y[i])
86 {
87 max_H=_y[i];
88 }
89 }
90 this.scale=Math.round(max_H/this.height);
91 //每像素代表数值10
92 if( this.scale<10)
93 {
94 scale=10;
95 }
96 for(i=0;i<this.line_num;i++)
97 {
98 var y=this.height*i/this.line_num;
99 barjg.setStroke(Stroke.DOTTED);
100 barjg.drawLine(this.start_x,y+this.start_y,this.width+this.start_x,y+this.start_y);
101 barjg.drawString(""+Math.round((this.height-y)*this.scale),this.y_start_x,y+this.start_y);
102 }
103 barjg.setStroke(2);
104 for(i=0;i<x_len;i++)
105 {
106 var barwidth=(this.width-this.start_x)/(x_len*2);
107 var startX=this.start_x+(i+1)*this.width/x_len-barwidth;
108 barjg.setColor(colors[i]);
109 //从左上到右下
110 barjg.fillRect( startX,this.height-Math.max(_y[i]/this.scale,2)+this.start_y,barwidth,Math.max(_y[i]/this.scale,2));
111 barjg.drawString(_x[i],startX,this.height+this.start_y);
112 }
113 barjg.paint();
114 };
115 this.clearBar =function()
116 {
117 barjg.clear();
118 };
119 }
2 *
3 * 文件名:bar.js V 1.01
4 *
5 * 作 者:何昌敏
6 *
7 * 时 间:2007-6
8 *
9 * 描 述:绘制柱图
10 *
11 * 备 注:
12 * 1.修改数据==0,出现的图形走样bug。(设置了2像素作为0的显示)
13 * 2.startx 实现水平移动。
14 * 3.实现自动比例。
15 * 4.实现实现柱的宽度自适应,分布自适应。
16 * 5.实现比较严格的参数判断。
17 * 6.实现了图像清除。
18 * 7.是否画上箭头。 在画箭头的时候可设定箭头大小。
19 *
20 * 说 明:
21 * 对于其位置的调整并没有做更多扩展,能自适应大小。
22 * 至于位置,我想直接控制div的位置比较方便。
23 * 当然还有背景的绘制,也认为修改DIV的背景,比在这里画要方便点。
24
25 * 感 谢:Walter Zorn提供了API ——wz_jsgraphics.js v. 3.01。
26 *
27*************更多技术文章请访问:http://www.blogjava.net/JAVA-HE****************/
28
29function Bar(_div)
30{
31 var barjg = new jsGraphics(_div);
32 var colors = new Array();
33 colors[0] = "#0066FF";
34 colors[1] = "#FF6633";
35 colors[2] = "#9900FF";
36 colors[3] = "#FF0066";
37 colors[4] = "#066600";
38 colors[5] = "#006633";
39 colors[6] = "#33FFFF";
40 colors[7] = "#000000";
41 colors[8] = "#FFFF00";
42 colors[9] = "#000033";
43 colors[10] = "#CCFFFF";
44 colors[11] = "#666666";
45
46 this.start_x = 40;
47 this.start_y = 0;
48 this.width=200;
49 this.height=120;
50 this.line_num=6;
51 this.y_start_x = 0;
52 this.scale=12;
53 this.IsDrawArrow = true;
54 this.ArrowLength =6;
55
56 this.drawBar = function (_y,_x)
57 {
58 var y_len = _y.length;
59 var x_len = _x.length;
60 if(y_len != x_len)
61 {
62 alert("X and Y length of inconsistencies, errors parameters.");
63 return;
64 }
65 barjg.setColor("#000000");
66 barjg.drawLine(this.start_x,this.height+this.start_y,this.width+this.start_x,this.height+this.start_y);//x line
67 barjg.drawLine(this.start_x,this.start_y,this.start_x,this.height+this.start_y);// y line
68 if(this.IsDrawArrow)
69 {
70 barjg.drawLine(this.width+this.start_x,this.height+this.start_y+this.ArrowLength,this.width+this.start_x+this.ArrowLength,this.height+this.start_y);
71 barjg.drawLine(this.width+this.start_x,this.height+this.start_y-this.ArrowLength,this.width+this.start_x+this.ArrowLength,this.height+this.start_y);
72 barjg.drawLine(this.width+this.start_x,this.height+this.start_y,this.width+this.start_x+this.ArrowLength,this.height+this.start_y);
73 barjg.drawLine(this.start_x,this.start_y-this.ArrowLength,this.start_x-this.ArrowLength,this.start_y+this.ArrowLength);
74 barjg.drawLine(this.start_x,this.start_y-this.ArrowLength,this.start_x+this.ArrowLength,this.start_y+this.ArrowLength);
75 barjg.drawLine(this.start_x,this.start_y,this.start_x,this.start_y-this.ArrowLength);
76 }
77 var max_H=0;
78 for(i=0;i<y_len;i++)
79 {
80 if(isNaN(_y[i]))
81 {
82 alert("y is not a number!");
83 return;
84 }
85 if(max_H<_y[i])
86 {
87 max_H=_y[i];
88 }
89 }
90 this.scale=Math.round(max_H/this.height);
91 //每像素代表数值10
92 if( this.scale<10)
93 {
94 scale=10;
95 }
96 for(i=0;i<this.line_num;i++)
97 {
98 var y=this.height*i/this.line_num;
99 barjg.setStroke(Stroke.DOTTED);
100 barjg.drawLine(this.start_x,y+this.start_y,this.width+this.start_x,y+this.start_y);
101 barjg.drawString(""+Math.round((this.height-y)*this.scale),this.y_start_x,y+this.start_y);
102 }
103 barjg.setStroke(2);
104 for(i=0;i<x_len;i++)
105 {
106 var barwidth=(this.width-this.start_x)/(x_len*2);
107 var startX=this.start_x+(i+1)*this.width/x_len-barwidth;
108 barjg.setColor(colors[i]);
109 //从左上到右下
110 barjg.fillRect( startX,this.height-Math.max(_y[i]/this.scale,2)+this.start_y,barwidth,Math.max(_y[i]/this.scale,2));
111 barjg.drawString(_x[i],startX,this.height+this.start_y);
112 }
113 barjg.paint();
114 };
115 this.clearBar =function()
116 {
117 barjg.clear();
118 };
119 }
上面js文件保存为:bar.js,使用下面DEMO 文件的的时候,一样需要引入wz_jsgraphics.js。可以在http://www.blogjava.net/Files/JAVA-HE/pieDemo.rar 下载。
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5<title>TEST</title>
6<script type="text/javascript" src="wz_jsgraphics.js"></script>
7<script type="text/javascript" src="bar.js"></script>
8</head>
9<body>
10<p>1.柱图</p>
11<div id="BarDiv" style="position:relative;height:200px;width:300px;"></div>
12
13<script language="javascript">
14 var y= new Array ();
15 y[0] = 11112;
16 y[1] = 16000;
17 y[2] = 20000;
18
19 var x = new Array ();
20 x[0] = "a";
21 x[1] = "b";
22 x[2] = "c";
23 var mybar = new<span sty
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5<title>TEST</title>
6<script type="text/javascript" src="wz_jsgraphics.js"></script>
7<script type="text/javascript" src="bar.js"></script>
8</head>
9<body>
10<p>1.柱图</p>
11<div id="BarDiv" style="position:relative;height:200px;width:300px;"></div>
12
13<script language="javascript">
14 var y= new Array ();
15 y[0] = 11112;
16 y[1] = 16000;
17 y[2] = 20000;
18
19 var x = new Array ();
20 x[0] = "a";
21 x[1] = "b";
22 x[2] = "c";
23 var mybar = new<span sty
发表评论
-
详细总结LOG4J的使用
2007-02-06 16:31 7121 import java.util.*; 2 impor ... -
数字签名
2007-02-06 16:39 773使用applet经常涉及到java的砂箱问题,由于java的安 ... -
常见排序算法
2007-02-06 16:48 839<!--<br><br> ... -
测试连接数据源
2007-02-06 17:07 8091 ////////////////////////// ... -
解析XML
2007-02-06 17:12 6511 2 package com.parsexml ; ... -
BASE64编码
2007-02-06 17:16 7631 ////////////////////////// ... -
MD5加密
2007-02-07 09:49 934<!--<br><br>Cod ... -
省市地区三级菜单
2007-02-07 09:58 1219级联菜单:(1.js文件)<!--<br>& ... -
解析XML字符串与xml文件
2007-02-07 10:53 957对两种情况,这个文件不需要修改:<!--<br&g ... -
总结WebService的使用
2007-02-08 09:18 766一、安装jsp程序员应该不会装错。首先下载axis,解压缩。将 ... -
Applet 与JS通信
2007-02-08 16:09 4875Applet 与JS通信:一、页面嵌入applet:<a ... -
正则表达式使用详解
2007-02-14 10:54 770如果我们问那些UNIX系 ... -
xml学习总结之一
2007-02-15 13:16 7391 . XML 与 DTD —— XML 入门知识 1 ... -
xml学习总结之二
2007-02-26 10:49 6632. XML 名称空间 XML 命 ... -
JAVA 写的一截屏小工具
2007-03-01 09:48 712该截图工具的原代码参照了网上一文:(http://www.ch ... -
记事本程序
2007-03-08 12:09 696写了一个记事本程序,程序运行效果如下。 ... -
servlet学习笔记之一
2007-03-09 10:48 614servlet 学习笔记 自序 昨天心情有些失落。公司从去 ... -
servlet学习笔记之二
2007-03-26 19:16 564servlet 学习笔记之二 — ... -
servlet学习笔记之三
2007-03-26 19:25 587servlet 学习笔记之三 ——关于 web 应用程序的部 ... -
JFreeChart 入门指南
2007-04-18 01:47 796JFreeChart也许对大家来说很陌生,JFreeCh ...
相关推荐
在这个"java ssh2——统计图"的项目中,我们聚焦于如何在网页中利用SSH2框架来创建动态的、交互式的统计图形。 Spring框架作为基础,提供依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented ...
5. `graphics`:这个目录可能存储了与图表相关的图像资源,如图标、背景图片等,这些图片可能在K线图的样式设计中起到关键作用。 通过学习这个脚本,开发者不仅可以了解K线图的基本概念,还能掌握JavaScript在数据...
开发者可能通过Ajax异步请求获取数据,然后在客户端渲染图表,提供动态交互体验。这涉及到前后端通信、JSON数据格式、JavaScript图表库的使用等技能。 4. 文件名称"传给崔超ip63谢谢": 这个文件名可能是项目交流...
Highcharts是一款基于JavaScript的图表库,完全采用客户端代码实现,这意味着它无需服务器端支持,即可在用户的浏览器中生成各种动态、交互式的图表。这种特性使得Highcharts适用于各种Web应用程序,无论是小型项目...
JS Charts 是一个强大的JavaScript库,专用于在网页上创建交互式的柱状图、饼图和曲线图。这个库的特点是轻量级且免费,无需在服务器端安装任何插件,只需在客户端的HTML文件中嵌入相应的JavaScript代码即可。JS ...
6. **客户端脚本支持**:为了增强用户体验,我们可能需要提供客户端API,让用户能够在浏览器端与图表交互,例如通过JavaScript实现鼠标悬停时显示数据详情。 在文件`SimpleGaugeBarControl`中,可能包含了实现上述...
7. **图形绘制**:利用Canvas或SVG,JavaScript可以实现强大的图形绘制功能,制作图表、游戏、甚至复杂的3D图形。 8. **响应式设计**:JavaScript可以检测窗口大小变化,帮助实现响应式布局,使网页在不同设备上都...
如果你的项目需要在Web应用中展示这些图谱,可能还需要结合前端框架如React或Vue,将生成的图片发送到客户端展示。 总的来说,"Node.js-绘制人物关系图谱的npm包"是一个强大的工具,它简化了在Node.js中创建和展示...
此流程图插件就是在浏览器环境中运行的,通过JavaScript代码实现动态绘制和交互。 2. **G2**:G2是阿里云AntV数据可视化库的一部分,它是一个基于图形语法理论的二维图表绘制引擎,能够方便地构建出复杂的统计图表...
MXGraph是一个强大的JavaScript库,专门用于在Web浏览器中绘制交互式图表,包括流程图。它提供了一套完整的API,用于创建、编辑和显示复杂的图形,非常适合用于构建流程设计器。 在详细说明中,我们可以深入探讨...
这些数据包含了图表所需的系列、数据点、轴信息、标签等元素,一旦XML生成并发送到前端,AnyChart会自动解析并绘制出相应的图表。 在文件列表中,我们看到一个名为"map.bin"的文件。这可能是一个二进制文件,通常...
本篇文章将深入探讨一些JSP开发中的经典技巧,包括客户端编程、发送Email、绘制图形、文件上传、编写国际化应用,以及使用JFreeChart图表系统和MVC架构。 首先,客户端编程是Web应用的重要组成部分。动态表格的实现...
JFreeChart是一款开源的Java图表绘制库,能够创建多种类型的图表,包括但不限于饼图、柱状图(普通与堆叠柱状图)、线图、区域图、分布图、混合图、甘特图以及各种仪表盘等。这些图表类型足以满足大多数统计展示的...
**JS图表库——JS Charts深度解析** JS Charts是一款强大的JavaScript图表库,专为网页开发者设计,用于创建数据可视化效果,如折线图、饼状图、柱状图等。这款库以其易用性、灵活性和丰富的自定义选项而受到广泛的...
JavaScript作为客户端脚本语言,为CSS提供了动态化的可能。通过监听事件、修改DOM元素样式,JavaScript可以实现实时响应用户操作,创造出丰富的交互效果。而HTML5的新特性,如Canvas、SVG、Web Storage等,更是为CSS...
JavaScript是一种轻量级的编程语言,尤其适合用于Web开发,它可以在客户端直接执行,无需服务器端的支持,大大降低了数据传输的延迟,提升了用户体验。此外,JavaScript有丰富的库和框架支持,如D3.js、Highcharts等...
类似绘画的应用程序——绘制形状、线条等 一般要求 请在您的项目中定义并实现以下资产: JavaScript 客户端应用程序的要求 使用 HTML5 canvas + 或 Canvas 框架,如 KineticJS、paper.js 或其他 使用 SVG + 或 SVG ...
1. **Canvas元素**:HTML5中的Canvas是用于绘制图形的画布,通过JavaScript API可以动态绘制各种图表,如折线图、柱状图、饼图等。开发者可以通过调用canvas上的方法来描绘数据,实现统计图表的动态效果。 2. **SVG...
2. **图形库**:VkLibs-Graph是这个压缩包的核心,它可能包含了一系列用于绘制图形、图表的API,如折线图、柱状图、饼图、散点图等。这些API通常支持自定义颜色、大小、动画效果等,以满足不同应用场景的需求。 3. ...
在客户端,则需要编写JavaScript代码来处理返回的数据,并使用图表库(如ECharts、D3.js等)绘制图表。 #### 技术栈与实现细节 - **前端**: - **HTML/CSS**:用于构建基本的页面结构和样式。 - **JavaScript/...