chart曲线方向如何控制

cs1438250 2015-12-14 03:48:02
做了一个实时曲线显示的chart。
x轴的坐标值变化,但是网格线不动。曲线也只最多显示到某个x值的垂直网格线上。

看别人做的,曲线从右边往左走。x轴的值和网格线也往左走。。如何做到的
...全文
200 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
cs1438250 2016-01-15
  • 打赏
  • 举报
回复
一个月了。没人回复。。
之前四此发的库http://download.csdn.net/detail/maiker/9646423可以作废,本次为最新的,其中测试了历史曲线的动态显示,这是对Microsoft WpfToolkit的更新和扩展: 1、将库版本升级到.NET 4.5,对命名控件进行了替换处理 2、实现了单数据Chart图的混合颜色显示,可通过修改资源字典调整和添加颜色 3、可控制各种Chart图形的数据值显示 4、坐标轴文本可倾斜显示 5、添加了StepLine图和圆环图,圆环半径比例系数可设定. 6、Legend可位于区域四侧,对齐方式也可以设定,以及是否显示, 可控制Chart Title是否显示 7、柱状图缝隙间隔可调整 8、全方面的加入了各种加载动画效果,动画效果可屏蔽,同时原系统自带动画效果,可叠加,这是两种不同的效果,可以互补性的单个使用 9、设计了五种主题颜色,各人可以针对图形颜色和背景色进行更好的搭配,在用户项目中,可以自己添加新的主题。 10、扩展了时间轴的应用,在新的DateTimeChart中可以通过鼠标平移和缩放时间轴,并测试了两个例子用于动态显示历史曲线,一个是外部定时更新,一个是内部定时更新 11、对LineDataPoint样式进行了设计,现在可以选择线图的点样式(如空心圆、五角星、三角形,矩形等),同时这些不同的点样式可以体现在Legend上,从而实现颜色和图形的双重区分。 12、对饼图的标签排布进行了深度扩展,借鉴了Telerik 饼图的标签排布规则,重新调整了标签排布,现在饼图标签在各种情况下都不会发生重叠,个人感觉比Visifire的饼图标签排布要好,虽然Visifire的饼图标签不会重叠,但连接线可能会出现重叠 13、借鉴了Visifire的标签智能适应,对各种Chart图的标签显示进行了重新定位,现在柱状图/Bar图的标签显示可以自行决定是水平排布还是垂直排布,是位于内部还是位于外部等等,而区域图的标签则使用了Win7窗口的文字区域背景的高斯模糊技巧,这样可以适应各种背景,而Visifire的标签色则通过底部背景色的计算来确定前景色,测试后发现在某些中性色下显示不理想,在Y轴方向上,标签文字能自适应显示。 14、轴标签和数据点值标签都添加了格式化字符串属性的设定 15、轴添加了交替颜色显示设定 16、增加了一些新的Chart类型:Stock/AreaSpline/AreaStepLine/RangeArea/RangeSplineArea/Stacked100AreaSpline/StackedAreaSpline 对Candlestick进行了小幅的调整,现在宽度自适应,以及适应中国的红涨绿跌股市颜色 总而言之,微软的控件库做得很标准,还是很好修改的,相对于微软的这个库,讲究的是WPF的那种注重其神而忽略其形,WPFVisifire则比较传统,而Telerik则在WPF上走得更远,模板全在外部定制和修改。连动画都在外面做,所以新上手的人在使用Telerik Chart时会比WPFVisifire难得多,但可修改性也强得多。 最后一直想在历史曲线中取消点动画(及默认的透明度动画),以便提高执行效率,但微软的那部分动画不熟,总是修改失败。 后来类似Visifire添加QuickLine,但没完成。 可以发邮件wuyang26@live.cn讨论。
Dragonfly Chart .Net for Windows Form 包括七个图表.Net控件, 属于下列类型, 饼图、环图、条形图、X-Y曲线图、弧度模态图。Dragonfly Chart .Net 提供了两维/三维控件,这些控件已被广泛应用在象工业自动化HMI、SCADA系统或质量分析与控制、 科学研究与分析、和其他开发或建模仿真等应用领域中。 Dragonfly Chart .Net包中有三个 .Net (Windows Form) 控件子包, • 条形图控件 Bar Chart for .Net - DasNetBarChart包含DAS_Net_BarChart和DAS_Net_FlatBarChart两控件; • 饼图控件 Pie Chart & Ring Chart for .Net - DasNetPieChart包含DAS_Net_PieChart, DAS_Net_FlatPieChart 和 DAS_Net_3DPieChart三个控件; • 数据曲线图控件 X-Y Chart & Angle Chart for .Net - DasNetDataChart包含DAS_Net_XYChart 和 DAS_Net_AngularChart两控件 Dragonfly Chart .Net提供帮助文件(PDF),使用例程(C#, VB.NET,VC.NET)等来指导你快速使用这些控件,并可了解这些控件提供的功能。 条形图控件 Bar Chart for .Net 条形图由一根轴和一系列标记了的水平条或垂直条(这些条形用来代表一些相关变量的值)组成的。条形图可以显示一系列变量在某一时刻的值或比较相关变量的值。 条形图表已在许多应用领域用来图形显示或比较在系统一些变量的值。在财经和统计分析领域,条形图表是一个常用的工具来可视化直观地显示和比较不同组别的各变量数值情况。 条形图控件子包DasNetBarChart包含两个条形图控件来满足各种场合对各式各样的条形图的需求,即DAS_Net_BarChart和DAS_Net_FlatBarChart两控件。 DAS_Net_BarChart控件能用许多样式的水平条块或垂直条块来显示,条形块能用梯度着色或单一着色, 能显示阴影,支持条形组、三维显示、背景比例格栏、数值比例尺和其他一些特性。 另一个条形图控件, 即DAS_Net_FlatBarChart, 支持更多的图表特性:另一个条形图控件, 即DAS_Net_FlatBarChart, 支持更多的图表特性:另一个条形图控件, 即DAS_Net_FlatBarChart, 支持更多的图表特性:另一个条形图控件, 即DAS_Net_FlatBarChart, 支持更多的图表特性:另一个条形图控件, 即DAS_Net_FlatBarChart, 支持更多的图表特性: • 变量或条形组的名称显示; • 条形块曲线显示; • 支持设置条形块的最大值和最小值; • 支持图头文字 / 图尾文字; • 支持条形块 + 点 + 曲线; 饼图/环形控件 Pie Chart & Ring Chart for .Net 饼图是将一个园饼分成几个扇形块, 每个扇形块代表某一事件或因子在整体行为或实体中所占份额信息,所有扇形块所代表的份额就组成整体(100%)。 故饼图是一个很好的图形工具来显示某一实体或事件组成关系。在财经和统计分析领域,饼图是个常用的直观的可视化工具来展示各种因素对某一事件或状态的贡献百分比。 一个饼图是用扇形在整个圆饼所占的比例大小的百分比来表示某一因素在某一事件或状态的百分值。 饼图和百分比栏常在许多系统中用来表示过程或某些状态的百分比情况。它用图形直观的告诉使用者当前的百分比情况。 数据曲线图控件 X-Y Chart & Angle Chart for .Net 数据曲线图控件是用来图形可视化显示能用y=f(x)表示的过程曲线.如果(x, y)是在X_Y坐标系中的一个点, X-Y Chart可以用来显示它. 如果x是角度或弧度而 y是模态(长度), AngleChart便可用来显示它. 数据曲线图已在许多应用领域用来图形显示动态过程或动态特性或金融系统中的数据关系。在财经统计分析和工业自动化系统领域, 数据曲线图是一个常用的工具来可视化直观地显示各系统变量的复杂关系或动态轨迹。 在大多数工业应用和金融商业应用中, X-Y Chart 是一个主要的工具来显示个相关数据或监控实时过程与分析过程品质. 在许多军事应用领域或运动过程控制控制领域(比如机器人运动控制、航空器飞行控制),(弧度模态图)Angle Chart 也是常用的工具来分析方向运动过程。 X-Y Chart 控件能水平(从左到右或从右到左)或竖直(从上到下或从下到上)来画曲线,其外表形式可以多种. X-Y Chart主要显示和分析动态或静态数据,揭示数据间的关系. Angle Chart 和 X-Y Chart类似, 但 Angle Chart描述的是(角度/弧度, 模态(长度))曲线, 而不是 (X, Y)坐标曲线. Angle Chart可以顺时针或逆时针用各种显示方式来画要求的曲线。 http://www.commuch.com/Products/All/charting/Dragonfly-Chart-Net-WinForm/Details.aspx
用于Arduino 串口波形描绘:,通常格式如下: param1 = value param2 = value ... param1 = value param2 = value Setup 部分 每个配置文件由部分开始,这里你能设置全局参数比如: port=COM3 baudrate=57600 width=1000 height=201 background_color = white grid_h_origin = 100 grid_h_step = 10 grid_h_color = #EEE grid_h_origin_color = #CCC grid_v_origin = 0 grid_v_step = 10 grid_v_color = #EEE grid_v_origin_color = transparent 下面是在部分能够使用的参数: port 这就是软件进行串口通讯的接口啦,比如COM1,COM2.。。 baudrate 波特率,目前只支持以下几种波特率: 110,300,600,1200,2400,9600,19200,38400,57600,115200. 请注意目前的版本不支持流量控制的参数设置,默认设置为“无”,停 止位默认为1,采用最常用的设置 width,height chart区域的象素宽度和高度 background_color chart的背景颜色 关于颜色的一些提醒 请注意在.SCC文件中(也就是此软件的配置文件)颜色可以用16进制来表示(如 #FFF,#FFFFFF) 或者用一些已命名的颜色(白色,蓝色,品红,粉红,灰色) 请注意特殊的 颜色“透明”代表“没有颜色”。如果你不想让一些元素被绘制出来你可以使用它 grid_h_origin, grid_v_origin 水平方向和竖直方向都有一条原始的轴线,一般和普通的格点线(每条曲线都是由一个个像素组成的,所以叫格点线)颜色不同这两个参数确定了轴线在图表中距离顶点、左侧边界的位移,单位为像素 grid_h_origin_color, grid_v_origin_color 原始轴线的颜色 grid_h_step, grid_v_step 这两个参数确定了每次画线的长度(我也搞不懂这句话。。) grid_h_color, grid_v_color 普通格点线的颜色 Default and Field Sections (默认设置和区域设置)SerialChart能识别CSV(逗号分隔数据)的数据包(将来可能会支持更多的格式)。每一行传送一份数据包,每一份数据包中的不同数据用逗号来分隔。下面的例子是SerialChart能识别的格式: 100,0.50,0.70 101,0.30,0.50 102,0.25,0.35 在配置文件中,下面的部分为每份数据包中的不同数据设定了参数比如: min=-1 max=1 color=gray min=0 max=255 color=blue color=red 通过你可以对所有区域进行一个默认设置。这些参数对所有的数据区都有效除非在区域中他们被相同的名字覆盖在上面的例子中,和将继承区的默认设置 min=-1,max=1,但中的参数把值改为了min=0 and max=255 在你设置了默认设置后你应该为数据包中每个区域进行新的设置。设置顺序应根据他们在数据包中的先后而设置部分的名字可以随意命名但不能和,相同,也不能以'_'开头和结尾,比如可以命名为,,但不能命名为,下面的参数是和区能识别的参数min,max这两个值是对应曲线在图中的上下界。换句话说,如果你设定min=-1,max=1,那数据“1”将会被描绘在图中的顶端,数据“-1”将被描绘在图中的底端,而“0”将会描绘在图的正中间。数据会从映射到图中的,height就是曲线图的高度,在开始的中可以设置(这有点像arduino中的map()函数) color 设置数据所对应曲线的颜色。如果你不想让某个数据被绘制出来可以设置为transparent(透明) dash 可将曲线变成一条虚线,如,当dash=3,软件会将3个数据绘制出来,再停止绘制3个数据,再绘制3个数据,如此反复。。 翻译完毕,加入一些个人使用心得 1、串口只能同时被一个程序使用,当你要更新程序时,要点 SerialChart中的stop 2、刚下完程序打开SerialChart可能没反应,按一下复位再等个几秒应 该就好了,bootloader的启动速度,你懂得。。。 3、的名字千万不能相同,否则有些曲线是绘制不出来的 发个我测试超声波的例子吧 Serial Chart代码: port=COM3 baudrate=9600 width=10000 height=500 background_color = white grid_h_origin = 0 grid_h_step = 1 grid_h_color = #EEE grid_h_origin_color = #CCC grid_v_origin = -100 grid_v_step = 0 grid_v_color = #EEE grid_v_origin_color=#CCC min=0 max=500 min=0 max=40000 color=bisque min=0 max=40000 color=gray color=pink min=0 max=400 color=gold min=0 max=400 color=red min=0 max=400 arduino代码:void setup() { pinMode(BeePin,OUTPUT); pinMode(UMT,OUTPUT); pinMode(UMR,INPUT); Serial.begin(9600); Serial.println("begin"); } unsigned long Detect1() { //一坨 return 10000; } unsigned long Detect2() { //两坨 return 20000; } void loop() { distance1=Detect1(); distance2=Detect2(); Serial.print(distance1,DEC); Serial.print(","); Serial.print(distance2,DEC); Serial.print(",");*/ delay(100); }

4,816

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧