请帮忙:owc画折线想跳过某个点怎么办?

问题描述

我用c#调用owc画折线,我想判断某个点的值大于32700的话我就跳过这点,直接连下一个点,但是我画出来的图在跳过那点后就不画了,代码如下,请帮忙看看:while(sqlDisplay.Read()){for(intk=0;k<aList.Count;k++){stringcsTmp=aDisList[k].ToString();stringabc=sqlDisplay[aList[k].ToString().Trim()].ToString().Trim();if(Convert.ToInt32(abc)<32700){csTmp+=abc;//csTmp+=sqlDisplay[aList[k].ToString().Trim()].ToString().Trim();csTmp+="t";aDisList.RemoveAt(k);aDisList.Insert(k,csTmp);}else{csTmp+="ttt";aDisList.RemoveAt(k);aDisList.Insert(k,csTmp);}}strCategory+=sqlDisplay["hour"].ToString().Trim()+'t';cba=sqlDisplay[ee].ToString().Trim();if(Convert.ToInt32(sqlDisplay[ee].ToString().Trim())<32700)strValue+=cba+"t";else{strValue+="t";}}sqlDisplay.Close();//创建ChartSpace对象来放置图表ChChartSpaceobjCSpace=newChartSpaceClass();//在ChartSpace对象中添加图表,Add方法返回chart对象;ChChartobjChart=objCSpace.Charts.Add(0);//指定图表的类型。类型由OWC.ChartChartTypeEnum枚举值得到objChart.Type=ChartChartTypeEnum.chChartTypeLine;//曲线objChart.ChartDepth=10;//objChart.Type=ChartChartTypeEnum.chChartTypeLineMarkers;//带节点的曲线//objChart.Type=ChartChartTypeEnum.chChartTypeSmoothLine;//光滑曲线//objChart.Type=ChartChartTypeEnum.chChartTypeColumnClustered;//条形//标题objChart.HasTitle=true;SqlDataReadersqlShowname=cmd3.ExecuteReader();while(sqlShowname.Read())eename=Convert.ToString(sqlShowname[0]).Trim();objChart.Title.Caption=IIiii+"站点"+yy+"年"+mm+"月"+dd+"日"+hh.ToString()+"时前后各12小时的"+eename+"及参考要素变化图";sqlShowname.Close();objChart.Title.Font.Bold=true;objChart.Title.Font.Color="blue";objChart.Title.Font.Size=16;objChart.Title.Font.Name="隶书";//指定图表是否需要图例//objChart.HasLegend=false;objChart.HasLegend=true;objChart.Legend.Font.Size=10;objChart.Legend.Position=ChartLegendPositionEnum.chLegendPositionTop;//Axes[0]为X轴,Y轴objChart.Axes[0].HasTickLabels=true;objChart.Axes[0].TickLabelSpacing=1;//每隔1个标一个数值//objChart.Axes[0].TickMarkSpacing=4;//每隔5个作一个标志objChart.Axes[0].HasTitle=true;objChart.Axes[0].Title.Caption="时间";objChart.Axes[0].Title.Font.Size=12;//objChart.Axes[0].Title.Font.Name="隶书";//objChart.Axes[1].HasTitle=true;//objChart.Axes[1].Title.Caption="温度";//objChart.Axes[1].Title.Font.Size=12;//objChart.Axes[1].Title.Font.Name="隶书";ArrayListcolorList=newArrayList();colorList.Add("gold");colorList.Add("green");colorList.Add("purple");colorList.Add("blue");colorList.Add("brown");for(intj=0;j<aDisList.Count;j++){//添加一个seriesobjChart.SeriesCollection.Add(j);stringxx="select[chinesename]fromTableInfowhere[columnname]='"+aList[j].ToString().Trim()+"'";SqlCommandxCmd=newSqlCommand(xx,conn);SqlDataReaderreaderx=xCmd.ExecuteReader();stringcsname="";if(readerx.Read()){csname=readerx[0].ToString().Trim();//给定series的名字}readerx.Close();objChart.SeriesCollection[j].SetData(ChartDimensionsEnum.chDimSeriesNames,(int)ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(),csname);//给定分类objChart.SeriesCollection[j].SetData(ChartDimensionsEnum.chDimCategories,(int)ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(),strCategory);//给定值objChart.SeriesCollection[j].SetData(ChartDimensionsEnum.chDimValues,(int)ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(),aDisList[j].ToString().Trim());objChart.SeriesCollection[j].Line.Color=colorList[j%5].ToString().Trim();}//添加一个seriesintnCount=aDisList.Count;objChart.SeriesCollection.Add(nCount);stringxxx="select[chinesename]fromTableInfowhere[columnname]='"+ee+"'";SqlCommandxxCmd=newSqlCommand(xxx,conn);SqlDataReaderreaderxx=xxCmd.ExecuteReader();stringxcsname="";if(readerxx.Read()){xcsname=readerxx[0].ToString().Trim();}objChart.SeriesCollection[nCount].Interior.Color="gray";//改变第四条线的颜色为背景色//给定series的名字objChart.SeriesCollection[nCount].SetData(ChartDimensionsEnum.chDimSeriesNames,(int)ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(),xcsname);readerxx.Close();//给定分类objChart.SeriesCollection[nCount].SetData(ChartDimensionsEnum.chDimCategories,(int)ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(),strCategory);//给定值objChart.SeriesCollection[nCount].SetData(ChartDimensionsEnum.chDimValues,(int)ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(),strValue);//Microsoft.Office.Interop.Owc11.ChDataLabelsd3=objChart.SeriesCollection[3].DataLabelsCollection.Add();//显示每个点的值//d3.HasValue=true;objChart.SeriesCollection[nCount].Line.Color="red";//Cht.SeriesCollection(4).Line.Color="blue"conn.Close();

解决方案

解决方案二:
把一个折线分成两条线这样就ok了
解决方案三:
很简单用图表组件wsChart4.5(DLL版)可以做到
解决方案四:
可是我有多条曲线,并且曲线的条数也是动态的,只是其中的某些曲线可能会有一些要排除的点,怎么办呢?能否给说详细点呢,谢谢了
解决方案五:
有朋友提到“把一个折线分成两条线”,请问具体怎么实现?而且有时候一条曲线上可能会有多个大于37200的值(断点值),如果一遇到断点值就分折线的话,又改怎么弄呢?谢谢!
解决方案六:
请问,有没有朋友知道用owc控件画的一条曲线上某部分曲线(当值大于32700部分)用背景色显示怎么实现?感激万分!!!
解决方案七:
相关资料:

时间: 2024-09-04 21:49:32

请帮忙:owc画折线想跳过某个点怎么办?的相关文章

owc画折线图的问题?期待高手 啊~~

问题描述 怎样才能把折线图做出的效果和Excel中画的折线图一样呢?要做出的效果是:如果数据库中的值为空的时候,则停止画该折线,当下一个数据出现的时候隔几个空的无值的坐标点重新开始画另外一条折线,我做出来的当值出现空的时候后面有值的点会覆盖原来没值的点,所以画出来的折线就变成了连贯的折线了...期待高手的帮助!!! 解决方案 解决方案二:你只有把缺少的补其,或者把相应的没有值的点去掉才可以!解决方案三:privatevoidDisplayChart(stringstr){stringFileNa

高手请帮忙!!网站布局

问题描述 高手请帮忙!!我想做一个网站,布局大概为田字形,但是中间的横线没有在一条线上,一个高.一个低.请问该如何实现阿?自己只知道用表格,但具体不太知道如何实现.谢谢!!!! 解决方案 解决方案二:最好用div+css的方式实现.解决方案三:用背景图片设置css:repater-y属性解决方案四:表格的话先做成3行2列的,左半部分第2.3三行合并,右半部分第1.2行合并.另外也可以用div+css.解决方案五:同意档上猪位解决方案六:<tablewidth="100"borde

arraylist-急 在线等 谢谢!java想要读取excel中某以特定单元格的值,现在是循环读出所有的值,请帮忙修改一下

问题描述 急 在线等 谢谢!java想要读取excel中某以特定单元格的值,现在是循环读出所有的值,请帮忙修改一下 package com.excel.action; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java

想请教一个复杂的if 判断 语句,请帮忙看一下。。

问题描述 想请教一个复杂的if 判断 语句,请帮忙看一下.. 我想写一个if 语句 同时满足如下条件, a 和b 都不等于null , c 或者d 其中一个不等于null 请问这么写对吗? if(a!=null && b!= null && c!=null || d !=null) 解决方案 if(a!=null && b!=null &&(c!=null || d!=null)) 解决方案二: if (NULL != a &&

寻C#的owc画图表的高人

问题描述 有没有会用C#的owc画图表的高人?请留言,或短信我15959238324如有时间周六周日请帮忙指教下.请吃饭为谢~~~谢谢~~~~PS:在厦门... 解决方案 解决方案二:图表组件wsChart4.6(DLL版)解决方案三:画什么图解决方案四:直线还是区线解决方案五:想要什么样的图?先说出来看看撒解决方案六:OWCOWC11下载网址http://www.microsoft.com/downloads/details.aspx?familyid=7287252C-402E-4F72-9

messagebox-第2个MSGBOX提示框没有弹出来,请帮忙看看。

问题描述 第2个MSGBOX提示框没有弹出来,请帮忙看看. 代码如下:已经更新成功了,但是却没有提示.第一个msgbox在为空时候可以提示的.就是在TRY里面的不会提示. 换成MESSAGEBOX.SHOW也不行. Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click If TextBox8.Text = "" Or Text

各位大神请帮忙,我对id对应关系和参数设置不怎么懂,所以求帮改下下列代码,谢谢

问题描述 各位大神请帮忙,我对id对应关系和参数设置不怎么懂,所以求帮改下下列代码,谢谢 下边是我JSP的代码,我想点击"其他参数设置"设置连接时跳到"其他参数设置"Edit的编辑里,而不是跳到List里.能不能帮我把这段代码的"其他参数设置"连接修改下. "其他参数设置"Edit编辑的网页参数是: http://localhost:8082/ym//Module/QTCSSZ/Edit.action?id=5&ifr

请帮忙写一条SQL语句查询前一小时信息

问题描述 请帮忙写一条SQL语句查询前一小时信息 MSSQLServer,有个字段DateTime:2015-03-09 16:08:51.617 我想查询前一小时的信息,因为我公司是45分下班的,所以前一小时应该是14:45:00~14:45:00. 请问如何写一条语句可以查到当前小时的前一小时的信息呢?谢谢帮忙. 解决方案 select * from table where DATEDIFF('h',DateTime,now())>1 and DATEDIFF('h',DateTime,no

绘图-用GDI画折线图长时间运行之后系统变慢

问题描述 用GDI画折线图长时间运行之后系统变慢 vc2010 mfc自己编写函数画折线图,传入一些离散的点然后绘制到图片控件上,程序刚运行时没有异常,但在较长时间(4小时左右)运行之后整个系统开始变的卡顿(比如打开其他文件变得缓慢),甚至无法绘制图形,程序中的按钮也不能点击,但是程序使用的内存和cpu也都正常,调试的时候绘图函数也有正常执行没有死循环,绘制的点也不多,求高手帮忙解答 解决方案 系统的句柄是否有泄露,造成资源泄漏.gdi资源是否及时释放. 解决方案二: 非常感谢!应该是图片控件使