`

javascript 在客户端绘制图表系列三——xy坐标曲线图

阅读更多

系列1、2中介绍过的内容在这里不会赘述。
原理同面1、2基本一样。

 

 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 ="line.js" ></ script >
 8 </ head >
 9 < body >
10 < p > 1.线图 </ p >
11 < div  id ="LineDiv"  style ="position:relative;height:200px;width:300px;" ></ div >
12 < script  language ="javascript" >
13      var  y =   new  Array ();
14      y[ 0 =   16000 ;
15      y[ 1 =   1000 ;
16      y[ 2 =   20000 ;
17          y[ 3 =   100 ;
18      y[ 4 =   - 500 ;
19      y[ 5 =   9000 ;
20      var  x  =   new  Array ();
21     x[ 0 =   " a " ;
22     x[ 1 =   " b " ;
23     x[ 2 =   " c " ;
24      x[ 3 =   " aa " ;
25      x[ 4 =   " bb " ;
26      x[ 5 =   " dd " ;
27      var  myline  =   new  Line( " LineDiv " );
28     myline.drawXYLine(y,x);
29      // myline.clearLine();
30
</ script >         
31 </ body >
32 </ html >

效果图:
line.PNG

  1 /**/ /* ************更多技术文章请访问:http://www.blogjava.net/JAVA-HE****************
  2  *
  3  *    文件名:line.js V 1.01
  4  *    
  5  *    作  者:何昌敏
  6  *
  7  *    时  间:2007-7
  8  *
  9  *    描  述:绘制坐标曲线图
 10  *
 11  *    备  注:
 12  *                1.实现了根据所提供数据,自动标刻y轴坐标。
 13  *                2.实现了图像清除。
 14  *                3.调整startx starty能实现整体位置调整。
 15  *
 16  *    感  谢:Walter Zorn提供了API ——wz_jsgraphics.js v. 3.01。
 17  *                
 18 *************更多技术文章请访问:http://www.blogjava.net/JAVA-HE*************** */

 19
 20 function  Line(obj)
 21 {
 22      this .jg  =   new  jsGraphics(obj); 
 23      var  colors  =   new  Array();
 24     colors[ 0 =   " #0066FF " ;
 25     colors[ 1 =   " #FF6633 " ;
 26     colors[ 2 =   " #9900FF " ;
 27     colors[ 3 =   " #FF0066 " ;
 28     colors[ 4 =   " #066600 " ;
 29     colors[ 5 =   " #006633 " ;
 30     colors[ 6 =   " #33FFFF " ;
 31     colors[ 7 =   " #000000 " ;
 32     colors[ 8 =   " #FFFF00 " ;
 33     colors[ 9 =   " #000033 " ;
 34     colors[ 10 =   " #CCFFFF " ;
 35     colors[ 11 =   " #666666 " ;
 36      this .start_x  =   40 ;         // 应大于等于y_str_width
 37      this .y_str_width = 40 ;     // 坐标系的左边距
 38      this .x_str_tom  = 10 ;         // x轴文字 距离坐标系底部距离。
 39      this .start_y  =   20 ;         // >=this.ArrowLength*2 箭头的高度
 40      this .width = 200 ;
 41      this .height = 120 ;
 42      this .y_line_num  =   5 ;
 43     
 44      this .IsDrawArrow  =   true ;
 45      this .ArrowLength  = 6 ;
 46     
 47      this .drawXYLine  =   function  (_y,_x)
 48      {
 49          var  y_length  =  _y.length;
 50          var  x_length  =  _x.length;
 51          if (y_length != x_length)
 52          {
 53             alert( " X and Y length of inconsistencies, errors parameters. " );
 54              return ;
 55         }

 56          var  y_line_distance  =  Math.round( this .height / this .y_line_num);
 57          var  x_line_distance  =  Math.round( this .width / x_length);
 58         
 59          this .jg.drawLine( this .start_x, this .start_y + this .height, this .start_x + this .width, this .start_y + this .height); // x
 60          this .jg.drawLine( this .start_x, this .start_y + this .height, this .start_x, this .start_y); // y
 61          this .jg.setStroke(Stroke.DOTTED);    
 62          var  _y_copy  =  _y.concat();
 63          var  temp  =  _y;
 64         temp.sort( function  AscSort(x, y) 
 65          {
 66            return  x  ==  y  ?   0  : (x  >  y  ?   1  :  - 1 );
 67         }

 68         );
 69          var  y_max2y_min  =  temp[x_length - 1 ] - temp[ 0 ];
 70          var  y_min  = temp[ 0 ];
 71          var  y_value_distance  =  y_max2y_min / this .y_line_num;
 72          for ( var  i = 0 ;i < this .y_line_num;i ++ )
 73          {
 74              var  y_item  =   this .start_y + this .height - (i + 1 ) * y_line_distance;
 75              this .jg.drawLine( this .start_x,y_item, this .start_x + this .width,y_item);
 76              var  y_v  =  Math.round(y_value_distance * (i + 1 ) + y_min);
 77              this .jg.drawString(y_v, this .start_x - this .y_str_width,y_item);
 78         }

 79          for (i = 0 ;i < x_length;i ++ )
 80          {
 81              this .jg.setStroke( - 1 );
 82              this .jg.setColor( " #000000 " );
 83              var  x_item_end  =   this .start_x + x_line_distance * (i + 1 );
 84              this .jg.drawLine(x_item_end, this .start_y + this .height,x_item_end, this .start_y);
 85              this .jg.drawString(_x[i],x_item_end, this .start_y + this .height + 10 );
 86         }

 87          for (i = y_length;i<
分享到:
评论

相关推荐

    MongoDB客户端64位Windows版——Robo3t1.1.1

    标题提到的"MongoDB客户端64位Windows版——Robo3t1.1.1"是指Robo 3T的一个特定版本,专为64位Windows操作系统设计。Robo 3T提供了一个直观且功能丰富的图形用户界面(GUI),使得数据库的交互变得更加简单,包括...

    Qml之坐标轴的实现及曲线添加

    在QML(Qt Quick)中,创建可视化应用时,经常需要展示数据,这通常涉及到坐标轴和曲线的绘制。QmlQAxis这个主题是关于如何在QML中实现坐标轴以及动态添加曲线的过程,这对于数据可视化的应用尤其重要。下面我们将...

    百度地图绘制多边形几何图形并保存坐标转成覆盖物

    在IT行业中,尤其是在地理信息系统(GIS)开发领域,利用地图API进行交互式地图绘制是常见的需求。本话题聚焦于如何使用百度地图API来绘制多边形几何图形,并将这些图形的坐标保存,以便后续转化为地图上的覆盖物。...

    raphaelJS制作图表、饼图、柱状图、曲线图

    - 响应式设计:确保图表在不同设备和屏幕尺寸下都能正常显示。 通过Raphaël.js,你可以根据具体需求自定义图表的每一个细节,从而创建出符合项目需求的精美可视化效果。这个压缩包中的"raphael图表"文件很可能包含...

    自动绘制海量数据的曲线图

    标题中的"自动绘制海量数据的曲线图"指的是利用特定软件或编程库,如Python的Matplotlib、Seaborn或者JavaScript的D3.js等,将大量数据点有效地转化为可视化的曲线图表,以直观地展示数据的变化规律。 描述中提到,...

    绘制曲线图例子 正弦、余弦

    在IT领域,尤其是在数据分析、可视化和编程中,绘制曲线图是一种常见的数据表示方式。本案例主要探讨了如何利用特定的控件和对话框技术来创建动态的正弦和余弦曲线图。以下是对这一主题的详细说明: 1. **曲线图...

    EasyChart-基于JavaScript的Web绘制图表工具

    EveryChart是一个基于JavaScript的Web绘制图表工具,它的特点: 体积小,速度快,使用简单 面向对象架构,方便扩展 拥有详尽的中文文档和本土技术支持 不依赖其他框架,与jquery,mootools等兼容 支持动态增加改图 ...

    自定义图表组件,支持柱状图,折线图,曲线图,饼图绘制

    本文将深入探讨如何实现一个自定义图表组件,支持柱状图、折线图、曲线图和饼图的绘制。 首先,我们要了解这四种基本图表类型: 1. **柱状图**:柱状图是一种以矩形的高度或长度来表示数值大小的图表,通常用于...

    使用D3.js库绘制曲线图

    在本例中,我们将探讨如何使用D3.js来绘制曲线图。 首先,我们需要了解XML文件的作用。XML(可扩展标记语言)是一种用于存储和传输结构化数据的标准格式。在这个场景中,XML文件很可能包含了用来绘制曲线图的数据点...

    JavaScript曲线图

    此外,还定义了一系列颜色数组`colors`,这些颜色将在绘制曲线时被循环使用,为不同的数据系列提供视觉区分。 #### 3. 绘制曲线图 在`drawXYLine`方法中,我们传入两个数组参数:`_y`和`_x`,分别代表Y轴和X轴的...

    flash js 曲线图+饼状图+柱状图绚丽插件

    在JavaScript中,通过使用特定的库或插件,如这个压缩包中的,开发者可以轻松地在网页上绘制出随时间变化的数据曲线。这种图表对于展示趋势和模式特别有用,例如股票市场的波动或气候变化等。 接下来是“饼状图”。...

    vml+javascript直接在浏览器中绘制动态曲线图实例(源码-+Think+in+vml++vml+极道教程)

    JavaScript与VML结合,可以实现动态、交互式的图形绘制,比如在本实例中,我们将探讨如何利用这两种技术在浏览器中绘制动态曲线图。 在浏览器的早期版本,特别是那些不支持SVG(Scalable Vector Graphics)或者...

    Qt4.8.4和Echarts5.3.3绘制图表例子

    ECharts,商业级数据图表,它是一个纯JavaScript的图标库,常用的图表形式,如折线图、柱状图,饼状图、雷达图等,都可绘制,而且效果好看。这是做Web前端的,经常会用到的工具。这里我就不细说ECharts,一则这个...

    jquery图表控件,包括柱状图,曲线图,饼状图,仪表盘等

    Highcharts是一个强大的JavaScript图表库,支持多种图表类型,包括上述的柱状图、曲线图、饼状图和仪表盘。它提供了丰富的自定义选项,使得开发者可以根据需求创建出美观且功能齐全的图表。使用Highcharts,你不仅...

    基于JavaScript的富客户端表格绘制库开发.pdf

    【JavaScript富客户端表格绘制库开发】是针对Web应用中数据呈现的一种优化解决方案。传统的Web数据呈现框架,如jsp或asp框架,通常在服务器端处理数据转换成HTML标签,然后将完整的HTML文档返回给浏览器,这增加了...

    利用贝赛尔曲线函数在arcgis图层中绘制平滑曲线

    利用贝赛尔曲线函数在arcgis图层中绘制平滑曲线,通过地图上的几个控制点,在客户端绘制平滑曲线,可用于客户端绘制等值线

    c#在C/S和B/S下绘制各种曲线图表

    `System.Windows.Forms.DataVisualization.Charting`库提供了丰富的图表类型,如折线图、柱状图、饼图等,可用于绘制曲线图表。 - **数据绑定**:C#允许直接将数据源绑定到图表控件,使得数据更新时图表自动刷新。 ...

    用JavaScript实现网页曲线图动态信息显示.pdf

    为了解决这个问题,本文研究了如何在绘制曲线图的同时将曲线X、Y坐标以及点的具体信息同时展现在生成的网页上。 在本文中,我们使用JavaScript语言来实现曲线图的动态信息显示。当用户鼠标停留在曲线上的任意点时,...

    当当网——客户端——服务端

    标题 "当当网——客户端——服务端" 暗示了我们要探讨的是关于当当网的客户端和服务端架构以及它们之间的交互。当当网是中国知名的在线图书、电子商品零售平台,其客户端通常指的是用户使用的应用程序,如手机APP或...

    Chartjs曲线图、柱状图、饼状图等多种统计图

    Chart.js是一款轻量级的JavaScript库,专门用于创建各种类型的统计图表,如曲线图、柱状图和饼状图等。它以其简单易用、高效和可定制化的特性深受开发者喜爱,广泛应用于数据可视化项目中。下面将详细介绍Chart.js在...

Global site tag (gtag.js) - Google Analytics