精华内容
下载资源
问答
  • excel2016绘制多条折线的散点

    千次阅读 2019-05-26 18:05:42
    1.选中数据(全选,第列为时间即X轴内容,其他列为要添加的数据) 2.依次点击插入–》图表–》插入散点,再选择第四个带直线和数据标记的散点。 3.选择样式2,做为最终结果的散点。 最终结果为: ...

    1.选中数据(全选,第一列为时间即X轴内容,其他列为要添加的数据)
    在这里插入图片描述
    2.依次点击插入–》图表–》插入散点图,再选择第四个带直线和数据标记的散点图。
    在这里插入图片描述
    3.选择样式2,做为最终结果的散点图。
    在这里插入图片描述
    最终结果为:
    在这里插入图片描述

    展开全文
  • 实现的效果: 1.选择直线的起始或结束节点时,可以移动直线 2.当按住Ctrl后,再点击直线...如果有Ctrl按下,则在MouseMove事件根据鼠标的位置,绘制出一条拆线,当MouseUp后,添加一个新的UIComponent把那条拆线...



     实现的效果:

    1.选择直线的起始或结束节点时,可以移动直线

    2.当按住Ctrl后,再点击直线,可以创建出一个折线,如下图:

    基本思路:

    当直线被MouseDown后,判断选择的位置,如果是起始或结束节点的范围,则移动该节点,重新绘制直线。

    如果有Ctrl按下,则在MouseMove事件中根据鼠标的位置,绘制出一条拆线,当MouseUp后,添加一个新的UIComponent把那条拆线重新绘制一次。

     

    UXLine 简单地封装了画直线的类

    package cn.ui
    {
    	import flash.events.MouseEvent;
    	import flash.geom.Point;
    	import flash.utils.Dictionary;
    	
    	import mx.collections.ArrayCollection;
    	import mx.core.UIComponent;
    	
    	import spark.filters.GlowFilter;
    	
    	/**
    	 * 线条类
    	 * klinmy@163.com
    	 **/
    	public class UXLine extends UIComponent
    	{
    		/** 常量0,未选择节点 */
    		public static const SELECTED_NONE_NODE:int = 0;
    		/** 常量1,选择了From节点 */
    		public static const SELECTED_FROM_NODE:int = 1;
    		/** 常量2,选择了To节点 */
    		public static const SELECTED_TO_NODE:int = 2;
    		
    		/** 选择了From 或To节点 LineMove的事件 */
    		public static const EVENT_LINE_NODE_MOVE:String = "EVENT_LINE_NODE_MOVE";
    		/** 拆线形成拆线的事件 */
    		public static const EVENT_LINE_BROKEN:String = "EVENT_LINE_BROKEN";
    		
    		private var _xFrom:Number = 0;
    		private var _xTo:Number = 0;
    		private var _yFrom:Number = 0;
    		private var _yTo:Number = 0;
    		
    		private var _selectedNode:int = SELECTED_NONE_NODE;
    		private var _lineStyle:int = 2;
    		private var _lineColor:uint = 0x0099ff;
    		
    		// 关联的线条
    		//private var _linkLines:ArrayCollection = new ArrayCollection;
    		private var _linkLines:Dictionary = new Dictionary;
    		
    		/** 有效范围(半径) */
    		private const _EFFECT_RANGE:int = 3;
    		
    		public function UXLine()
    		{
    			super();
    			this._selectedNode = SELECTED_NONE_NODE;
    			this.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
    		}
    		
    		
    		/** 0 未选择,1选择了起始节点,2选择了结束节点 */
    		public function get selectedNode():int
    		{
    			return _selectedNode;
    		}
    
    		public function get yTo():Number
    		{
    			return _yTo;
    		}
    
    		public function set yTo(value:Number):void
    		{
    			_yTo = value;
    		}
    
    		public function get yFrom():Number
    		{
    			return _yFrom;
    		}
    
    		public function set yFrom(value:Number):void
    		{
    			_yFrom = value;
    		}
    
    		public function get xTo():Number
    		{
    			return _xTo;
    		}
    
    		public function set xTo(value:Number):void
    		{
    			_xTo = value;
    		}
    
    		public function get xFrom():Number
    		{
    			return _xFrom;
    		}
    
    		public function set xFrom(value:Number):void
    		{
    			_xFrom = value;
    		}
    
    		public function set lineStyle(value:int):void{
    			_lineStyle = value;
    		}
    		public function get lineStyle():int{
    			return _lineStyle;
    		}
    		public function set lineColor(value:uint):void{
    			_lineColor = value
    		}
    		public function get lineColor():uint{
    			return _lineColor;
    		}
    		
    		/**
    		 * 绑定MouseDown事件 
    		 **/
    		private function onMouseDown(event:MouseEvent):void{
    			var eventType:String = EVENT_LINE_NODE_MOVE;// 线节点移动
    			
    			this._selectedNode = SELECTED_NONE_NODE;
    			// 判断鼠标的位置,如果位于起点或终点的一个有效区域范围内时,触发可移动事件
    			var mousePoint:Point = new Point(event.localX, event.localY);
    			if(isInRange(_xFrom, _yFrom, event.localX, event.localY)){
    				this._selectedNode = SELECTED_FROM_NODE;
    			}else if(isInRange(_xTo, _yTo, event.localX, event.localY)){
    				this._selectedNode = SELECTED_TO_NODE;
    			}else if(event.ctrlKey){
    				// 生成新的线条的时候
    				eventType = EVENT_LINE_BROKEN;
    			}else{
    				// 其他事件,由外层容器去实现
    				return;
    			}
    			
    			// 阻击冒泡,并派发自己的事件
    			event.stopPropagation(); 
    			var newEvent:MouseEvent = new MouseEvent(eventType, true);
    			newEvent.localX = event.stageX;    
    			newEvent.localY = event.stageY; 
    			dispatchEvent(newEvent);
    		}
    		
    		/**
    		 * 检测某一点是否在另一个点的范围内
    		 * @param x 
    		 * @param y  
    		 * @param testX 测试点X坐标
    		 * @param testY 测试点Y坐标
    		 * @param effectRange 有效半径
    		 **/
    		private function isInRange(x:int, y:int, testX:int, testY:int, effectRange:int=_EFFECT_RANGE):Boolean{
    			return ((x - effectRange <= testX) && (x + effectRange >= testX)
    				&& (y - effectRange <= testY) && (y + effectRange >= testY));
    		}
    		
    		/**
    		 * 绘制直线
    		 **/ 
    		public function draw():void{
    			this.graphics.clear();
    			this.graphics.lineStyle(_lineStyle,_lineColor,1); 
    			this.graphics.moveTo(_xFrom, _yFrom);
    			this.graphics.lineTo(_xTo, _yTo);
    		}
    		
    		/**
    		 * 绘制拆线
    		 **/ 
    		public function draw2Line(pointX:int, pointY:int):void{
    			this.graphics.clear();
    			this.graphics.lineStyle(_lineStyle,_lineColor,1); 
    			this.graphics.moveTo(_xFrom, _yFrom);
    			this.graphics.lineTo(pointX, pointY);
    			this.graphics.lineTo(_xTo, _yTo);
    		}
    	}
    }

     

    不废话,直接上MXML

    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
    			   xmlns:s="library://ns.adobe.com/flex/spark" 
    			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="onLoad();" >
    	<fx:Style source="BrokenLineDemo.css"/>
    	
    	<fx:Script>
    		<![CDATA[
    			import cn.ui.UXCanvas;
    			import cn.ui.UXLine;
    			
    			import flash.display.Sprite;
    			import flash.geom.Point;
    			
    			import mx.core.DragSource;
    			import mx.core.UIComponent;
    			import mx.events.DragEvent;
    			import mx.events.MenuEvent;
    			import mx.managers.DragManager;
    			
    			// 最原始的线条对象
    			private var uxLine:UXLine = new UXLine;
    			// 拖动初始点
    			private var dragPoint:Point = new Point;
    			
    			// 当前线条对象
    			private var currentLine:UXLine = null;
    			
    			private function onLoad():void{
    				// 初始化表格线
    				initGridLine(mxCanvas);
    				
    				// 初始化uxLine
    				uxLine.xFrom = 50;
    				uxLine.yFrom = 50;
    				uxLine.xTo = 250;
    				uxLine.yTo = 250;
    				uxLine.draw();
    				
    				mxCanvas.addElement(uxLine);
    				
    				mxCanvas.addEventListener(UXLine.EVENT_LINE_BROKEN, onLineBroken);
    				mxCanvas.addEventListener(UXLine.EVENT_LINE_NODE_MOVE, onLineNodeMove);
    							}
    						
    			
    			// 线条分割事件
    			private function onLineBroken(event:MouseEvent):void{
    				if(event.target is UXLine){
    					currentLine = UXLine(event.target);
    					systemManager.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove4LB, true); 
    					systemManager.addEventListener(MouseEvent.MOUSE_UP, onMouseUp4LB, true); 
    				}
    			}
    			// 线条分割选择点后 开始移动
    			private function onMouseMove4LB(event:MouseEvent):void{
    				event.stopImmediatePropagation();
    				if(currentLine != null){
    					currentLine.draw2Line(event.localX, event.localY);
    				}
    			}
    			// 线条分割选择点后 移动完成
    			private function onMouseUp4LB(event:MouseEvent):void{
    				event.stopImmediatePropagation();
    				systemManager.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove4LB, true); 
    				systemManager.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp4LB, true );
    				
    				var pointX:Number = event.localX;
    				var pointY:Number = event.localY;
    				// 把线条拆分开,即新增加一条线来实现
    				if(currentLine != null){
    					var newLine:UXLine = new UXLine;
    					newLine.xFrom = currentLine.xFrom;
    					newLine.yFrom = currentLine.yFrom;
    					newLine.xTo = pointX;
    					newLine.yTo = pointY;
    					newLine.draw();
    					mxCanvas.addElement(newLine);
    					
    					currentLine.graphics.clear();
    					currentLine.xFrom = pointX;
    					currentLine.yFrom = pointY;
    					currentLine.draw();
    					//mxCanvas.removeElement(currentLine);
    				}
    				currentLine = null;
    			}
    			
    			// 选择线起点或终点的移动事件
    			private function onLineNodeMove(event:MouseEvent):void{
    				if(event.target is UXLine){
    					currentLine = UXLine(event.target);
    					systemManager.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove4Line, true); 
    					systemManager.addEventListener(MouseEvent.MOUSE_UP, onMouseUp4Line, true);
    				}
    			}
    			
    			// 选择线起点或终点的移动事件
    			private function onMouseMove4Line(event:MouseEvent):void{
    				event.stopImmediatePropagation();
    				
    				if(currentLine != null){
    					if(currentLine.selectedNode == UXLine.SELECTED_FROM_NODE){
    						currentLine.xFrom = event.localX;
    						currentLine.yFrom = event.localY;
    					}else if(currentLine.selectedNode == UXLine.SELECTED_TO_NODE){
    						currentLine.xTo = event.localX;
    						currentLine.yTo = event.localY;
    					}
    					currentLine.draw();
    				}
    			}
    			
    			// 释放移动动作
    			private function onMouseUp4Line(event:MouseEvent):void{
    				event.stopImmediatePropagation();  
    				systemManager.removeEventListener(MouseEvent.MOUSE_MOVE, onMouseMove4Line, true); 
    				systemManager.removeEventListener(MouseEvent.MOUSE_UP, onMouseUp4Line, true );
    				currentLine = null;
    			}
    			
    			
    			/**
    			 *  初始化表格线条
    			 **/
    			private function initGridLine(uiComponent:UIComponent):void{
    				const LINE_LENGTH:int = 4;
    				const LINE_MARGIN:int = 2;
    				const LINE_OFFSET:int = 24;
    				var rowIndex:int;
    				var colIndex:int;
    				var rowCount:int = Math.floor(this.height / LINE_OFFSET);
    				var colCount:int = Math.floor(this.width / LINE_OFFSET);
    				var startX:Number;
    				var startY:Number;
    				var endX:Number;
    				var endY:Number;
    				var lineIndex:int;
    				var lineCount:int;
    				var lineLength:int = (LINE_LENGTH + LINE_MARGIN);
    				var thickness:Number = 0.5;
    				var lineColor:uint = 0x000000;
    				
    				uiComponent.graphics.clear();
    				uiComponent.graphics.beginFill(0xFFFFFF);
    				uiComponent.graphics.drawRect(0, 0, this.width, this.height);
    				uiComponent.graphics.endFill();
    				
    				uiComponent.graphics.lineStyle(thickness, lineColor, 0.5);
    				
    				// 画出横线
    				lineCount = Math.floor(uiComponent.width / lineLength);
    				for(rowIndex = 1; rowIndex <= rowCount; rowIndex ++){
    					startY = endY = rowIndex * LINE_OFFSET;
    					if(rowIndex%2 == 0){
    						thickness = 1;
    						uiComponent.graphics.lineStyle(thickness, lineColor, 0.3);
    					}else{
    						thickness = 0.5;
    						uiComponent.graphics.lineStyle(thickness, lineColor, 0.1);
    					}
    					for(lineIndex = 0; lineIndex < lineCount; lineIndex ++){
    						startX = lineIndex * lineLength;
    						endX = startX + LINE_LENGTH; 
    						uiComponent.graphics.moveTo(startX, startY);
    						uiComponent.graphics.lineTo(endX, endY);
    					}
    				}
    				// 画出竖线
    				lineCount = Math.floor(uiComponent.height / lineLength);
    				for(colIndex = 1; colIndex <= colCount; colIndex ++){
    					startX = endX = colIndex * LINE_OFFSET;
    					if(colIndex % 2 == 0){
    						thickness = 1;
    						uiComponent.graphics.lineStyle(thickness, lineColor, 0.3);
    					}else{
    						thickness = 0.5;
    						uiComponent.graphics.lineStyle(thickness, lineColor, 0.1);
    					}
    					
    					for(lineIndex = 0; lineIndex < lineCount; lineIndex ++){
    						startY = lineIndex * lineLength;
    						endY = startY + LINE_LENGTH;
    						uiComponent.graphics.moveTo(startX, startY);
    						uiComponent.graphics.lineTo(endX, endY);
    					}
    				}
    			}
    			
    		]]>
    	</fx:Script>
    	<mx:Canvas id="mxCanvas" height="100%" width="100%">
    		<s:Label text="提示:按住Ctrl再选择线条画折线,选择线的两端可移动线条" toolTip="按住Ctrl再选择线条画折线"  x="278" y="11"/>
    	</mx:Canvas>
    	
    </s:Application>

      

     

    展开全文
  • Rlines()和abline()函数

    万次阅读 2017-06-25 23:46:50
    函数lines()和abline()都能用于在原添加直线折线,二者的区别是什么?分别用于哪些情况下? 解答:函数lines()其作用是在已有上加线,命令为lines(x,y),其功能相当于plot(x,y,type="1") 函数abline()可以...

        函数lines()和abline()都能用于在原图上添加直线或折线,二者的区别是什么?分别用于哪些情况下?

    解答:函数lines()其作用是在已有图上加线,命令为lines(x,y),其功能相当于plot(x,y,type="1")
    函数abline()可以在图上加直线,其使用方法有四种格式。
    (1)abline(a,b)    表示画一条y=a+bx的直线
    (2)abline(h=y)     表示画出一条过所有点得水平直线
    (3)abline(v=x)     表示画出一条过所有点的竖直直线
    (4)abline(lm.obj)     表示绘出线性模型得到的线性方程

    另外。lines()函数做的是一般连线图,其输入是x,y的点向量。
    abline()
    函数做的是回归线,其输入是回归模型对象。

    plot()函数被调用时即创建一副新图,而lines()函数是在已存在的图形上添加信息,并不能自己生成图形。

     

     

     

    展开全文
  •  实例095 在数组中添加一个元素 112  实例096 在数组中添加一个数组 113  实例097 不改变长度删除数组中的元素 115  实例098 删除数组元素后改变其长度 116 4.2 常用数组排序算法 117  实例099 使用选择...
  • 实例237 利用聚合函数First或Last求数据表一条或最后一条记录 10.11 多表查询(连接查询) 实例238 利用FROM子句进行多表查询 实例239 使用表别名 实例240 合并多个结果集 10.12 嵌套查询 实例241 简单嵌套查询 ...
  • 实例265 多条折线图 414 实例266 水平折线图 416 实例267 隐藏折线图 417 实例268 加粗折线 419 实例269 显示折线节点 420 实例270 生成节点图 421 实例271 设置虚线图 423 实例272 设置折线颜色 424 实例273 3D折线...
  • 实例265 多条折线图 414 实例266 水平折线图 416 实例267 隐藏折线图 417 实例268 加粗折线 419 实例269 显示折线节点 420 实例270 生成节点图 421 实例271 设置虚线图 423 实例272 设置折线颜色 424 实例273 3D折线...
  • 实例265 多条折线图 414 实例266 水平折线图 416 实例267 隐藏折线图 417 实例268 加粗折线 419 实例269 显示折线节点 420 实例270 生成节点图 421 实例271 设置虚线图 423 实例272 设置折线颜色 424 实例273 3D折线...
  • 实例207 利用聚合函数COUNT求日销售额大于某值的商品数 373实例208 利用聚合函数First或Last求数据表一条或最后一条记录 375 9.11 多表查询(连接查询) 377 实例209 利用FROM子句进行多表查询 377 实例...
  • 实例265 多条折线图 414 实例266 水平折线图 416 实例267 隐藏折线图 417 实例268 加粗折线 419 实例269 显示折线节点 420 实例270 生成节点图 421 实例271 设置虚线图 423 实例272 设置折线颜色 424 实例273 3D折线...
  • 款非常好的WPF编程宝典2010 源代码

    热门讨论 2014-04-14 09:57:41
    9.2.5 在另外个页面宿主页面 212 9.2.6 在Web浏览器宿主页面 213 9.3 页面历史 214 9.3.1 深入分析WPF的URI 214 9.3.2 导航历史 215 9.3.3 维护自定义的属性 216 9.4 导航服务 217 9.4.1 通过编程...
  • canvas优化

    2020-01-30 13:28:26
    博客简介 canvas元素是众多广泛使用的网络2D图像渲染...将画布的函数调用集合到一起(例如,画一条折线,而不要画多条分开的直线) 避免不必要的画布状态改变 渲染画布的不同点,而非整个新状态 尽可能避免 ...

    博客简介

    canvas元素是众多广泛使用的网络2D图像渲染标准之一。它被广泛用于游戏及复杂的图像可视化中。然而,随着网站和应用将canvas画布推至极限,性能开始成为问题。这篇博客是一些优化的技巧,后序还会继续添加更多的技巧

    技巧列举:

    • 将画布的函数调用集合到一起(例如,画一条折线,而不要画多条分开的直线)

    • 避免不必要的画布状态改变

    • 渲染画布中的不同点,而非整个新状态

    • 尽可能避免 shadowBlur特性

    • 尽可能避免text rendering

    • 使用不同的办法去清除画布(clearRect() vs. fillRect() vs. 调整canvas大小)

    • 有动画,请使用window.requestAnimationFrame() 而非window.setInterval()

    • 请谨慎使用大型物理库

    • 在离屏canvas上预渲染相似的图形或重复的对象
      如果你发现你的在每一帧里有好多复杂的画图运算,请考虑创建一个离屏canvas,将图像在这个画布上画一次(或者每当图像改变的时候画一次),然后在每帧上画出视线以外的这个画布。

      myEntity.offscreenCanvas = document.createElement("canvas");
      myEntity.offscreenCanvas.width = myEntity.width;
      myEntity.offscreenCanvas.height = myEntity.height;
      myEntity.offscreenContext = myEntity.offscreenCanvas.getContext("2d");
      
      myEntity.render(myEntity.offscreenContext);
      
    • 避免浮点数的坐标点,用整数取而代之
      当你画一个没有整数坐标点的对象时会发生子像素渲染。浏览器为了达到抗锯齿的效果会做额外的运算。为了避免这种情况,请保证在你调用drawImage()函数时,用Math.floor()函数对所有的坐标点取整。

      ctx.drawImage(myImage, 0.3, 0.5);
      
    • 不要在用drawImage时缩放图像:在离屏canvas中缓存图片的不同尺寸,而不要用drawImage()去缩放它们。

    • 使用多层画布去画一个复杂的场景
      你可能会发现,你有些元素不断地改变或者移动,而其它的元素,例如外观,永远不变。这种情况的一种优化是去用多个画布元素去创建不同层次。
      例如,你可以在最顶层创建一个外观层,而且仅仅在用户输入的时候被画出。你可以创建一个游戏层,在上面会有不断更新的元素和一个背景层,给那些较少更新的元素。

      <div id="stage">
        <canvas id="ui-layer" width="480" height="320"></canvas>
        <canvas id="game-layer" width="480" height="320"></canvas>
        <canvas id="background-layer" width="480" height="320"></canvas>
      </div>
       
      <style>
        #stage {
          width: 480px;
          height: 320px;
          position: relative;
          border: 2px solid black
        }
        canvas { position: absolute; }
        #ui-layer { z-index: 3 }
        #game-layer { z-index: 2 }
        #background-layer { z-index: 1 }
      </style>
      
    • 用CSS设置大的背景图:如果像大多数游戏那样,你有一张静态的背景图,用一个静态的

      元素,结合background 特性,以及将它置于画布元素之后。这么做可以避免在每一帧在画布上绘制大图。

    • 用CSS transforms特性缩放画布:CSS transforms 特性由于调用GPU,因此更快捷。最好的情况是,不要将小画布放大,而是去将大画布缩小。例如Firefox系统,目标分辨率480 x 320 px。

      var scaleX = canvas.width / window.innerWidth;
      var scaleY = canvas.height / window.innerHeight;
      
      var scaleToFit = Math.min(scaleX, scaleY);
      var scaleToCover = Math.max(scaleX, scaleY);
      
      stage.style.transformOrigin = '0 0'; //scale from top left
      stage.style.transform = 'scale(' + scaleToFit + ')';
      
    • 关闭透明度
      如果你的游戏使用画布而且不需要透明,当使用 HTMLCanvasElement.getContext() 创建一个绘图上下文时把 alpha 选项设置为 false 。这个选项可以帮助浏览器进行内部优化。

      var ctx = canvas.getContext('2d', { alpha: false });
      
    展开全文
  • 技巧65 移动平均折线图 技巧66 为数据系列添加误差线 技巧67 美化误差线 技巧68 自定义误差量的妙用 技巧69 种误差量表示什么 技巧70 借助系列线观察差异 技巧71 用垂直线增强可读性 技巧72 用高低点连线强调数据...
  • 新增:ICO图标类和子程序“_计算两点间的距离()、_计算两条直线的交点()” 内存画板增加“画圆弧路径文字()”,可以画出按照圆弧排列的文字 2.5版本新增类“动态矢量画板”,画出的图形可以随着鼠标滚轮滚动放大缩小...
  • 实例095 在数组中添加一个元素 实例096 在数组中添加一个数组 实例097 不改变长度删除数组中的元素 实例098 删除数组元素后改变其长度 4.2 常用数组排序算法 实例099 使用选择排序法对一维数组进行排序 实例...
  • 实例095 在数组中添加一个元素 实例096 在数组中添加一个数组 实例097 不改变长度删除数组中的元素 实例098 删除数组元素后改变其长度 4.2 常用数组排序算法 实例099 使用选择排序法对一维数组进行排序 实例...
  • 实例095 在数组中添加一个元素 实例096 在数组中添加一个数组 实例097 不改变长度删除数组中的元素 实例098 删除数组元素后改变其长度 4.2 常用数组排序算法 实例099 使用选择排序法对一维数组进行排序 实例...
  • Highcharts-Gantt-8.1.2.zip

    2020-08-11 22:04:28
    Highstock 支持直线图、折线图、面积图、面积曲线图、柱形图、散点图、蜡烛图(OHLC)、K线图、标签图、面积范围图、柱形范围图等多种图表, 其中很多图表可以集成在同个图形形成混合图 config-syntax简单的...
  • Highcharts-Stock-8.1.2.zip

    2020-08-11 22:00:54
    Highstock 支持直线图、折线图、面积图、面积曲线图、柱形图、散点图、蜡烛图(OHLC)、K线图、标签图、面积范围图、柱形范围图等多种图表, 其中很多图表可以集成在同个图形形成混合图 config-syntax简单的...
  • • XY散点折线图的内插值计算 • 自选图形种类 • 插入自选图形 • 添加文本 • 自选图形绘制线条和连接符 • 旋转和翻转 • 对齐和分布 • 自动靠齐 • 设置叠放次序 • 设置组合 • 设置阴影 • 设置三维效果 • ...
  • 5.2版控件新增了个Chartlet的组件,使用非常方便,可以生成柱形图、饼图、折线图等多种图形,而且可以设置2D或3D效果,既可以在打印控件打印出来,也可以在Graphics对象显示。 4、分组汇总打印DataGridVeiw...
  • 实例091 直线和正方形的归类(重写) 142 实例092 1=1和“1”=“1”的探讨(重载) 144 实例093 强制多态活动——抽象类和抽象方法的应用 146 实例094 关于成员隐藏(使用New关键字实现) 148 3.5 面向对象编程高级...
  • 实例091 直线和正方形的归类(重写) 142 实例092 1=1和“1”=“1”的探讨(重载) 144 实例093 强制多态活动——抽象类和抽象方法的应用 146 实例094 关于成员隐藏(使用New关键字实现) 148 3.5 面向对象编程高级...
  • 实例091 直线和正方形的归类(重写) 142 实例092 1=1和“1”=“1”的探讨(重载) 144 实例093 强制多态活动——抽象类和抽象方法的应用 146 实例094 关于成员隐藏(使用New关键字实现) 148 3.5 面向对象编程高级...
  • 实例237 利用聚合函数First或Last求数据表一条或最后一条记录 10.11 多表查询(连接查询) 实例238 利用FROM子句进行多表查询 实例239 使用表别名 实例240 合并多个结果集 10.12 嵌套查询 实例241 简单嵌套查询 ...
  • 实例237 利用聚合函数First或Last求数据表一条或最后一条记录 10.11 多表查询(连接查询) 实例238 利用FROM子句进行多表查询 实例239 使用表别名 实例240 合并多个结果集 10.12 嵌套查询 实例241 简单嵌套查询 ...
  • 实例095 在数组中添加一个元素 112 实例096 在数组中添加一个数组 113 实例097 不改变长度删除数组中的元素 115 实例098 删除数组元素后改变其长度 116 4.2 常用数组排序算法 117 实例099 使用选择排序法对一维数组...
  • 5.2版控件新增了个Chartlet的组件,使用非常方便,可以生成柱形图、饼图、折线图等多种图形,而且可以设置2D或3D效果,既可以在打印控件打印出来,也可以在Graphics对象显示。 4、分组汇总打印DataGridVeiw...

空空如也

空空如也

1 2
收藏数 40
精华内容 16
关键字:

折线图中添加一条直线