C# 画多组柱状图

fygdweb 2006-10-11 06:27:21
C#画一组柱状图的问题解决了,但是多组的总有点问题!
数据库表的结构如下表char:
时间 严重程度 个数 ...........
2006-2-1 low 1 ...........
2006-2-1 high 2 ..........
2006-2-1 quit 2 ..........
2006-2-2 low 3 ........
2006-2-2 high 1 .......
........................................
时间,严重程度,个数是主要的数据,其他的数据没有列举。
首先,从数据库中取出这些数据,并以严重程度分组存储在数组中
for(int i=0;i<record.Tables["char"].Rows.Count;i++)
{
myCategory[i]=Convert.ToInt16(record.Table["char"].Rows[i][2]);
date[i]=Convert.Tostring(record.Tables["char"].Rows[i][0]);
}
注:record为我从数据库中导出的DataSet
严重程度三个,存储在下列数组中:
string[] myCategoryName=new string[3]{"low","high","quit"};
下面以这三种程度分类:
for(int j=0;j<record.Tables["char"].Rows.Count;j++)
{
for(int i=0;i<3;i++)
{
if(myCategoryName[i]==record.Tables["char"].Rows[j][1].ToString())
{
strCategory[i]+=date[j]+'\t';
strValue[i]+=myCategory[j].ToString()+'\t'
}
else
{
strCategory[i]+=""+'\t';
strValue[i]+=""'\t';
}
}
}

下面是一些初始化。由于是在公司,不能直接拷代码,只有键盘输入了,有些代码就约了

下面是把数值传给OWC,office工具。
for(int i=0;i<3;i++)
{
myChart.SeriesCollection.Add(i);
myChart.SeriesCollection[i].SetData(OWC.ChartDimensionsEnum.chDimSeriesNames,
+(int)OWC.ChartSpecialDataSourcesEnum.chDataLiteral,myCategoryName[i]);
myChart.SeriesCollection[i].SetData(OWC.ChartDimensionsEnum.chDimCategories,
+(int)OWC.ChartSpecialDataSourcesEnum.chDataLiteral,strCategory[i]);
myChart.SeriesCollection[i].SetData(OWC.ChartDimensionsEnum.chDimValues,
(int)OWC.ChartSpecialDataSourcesEnum.chDataLiteral,strValue[i]);
}

然后是画图。

这样运行程序得出的结果是:显示的图像是按照严重程度排序的,但是我要的结果是按照时间排序的。

后来我发现一个地方可能有问题:
for(int j=0;j<record.Tables["char"].Rows.Count;j++)
{
for(int i=0;i<3;i++)
{
if(myCategoryName[i]==record.Tables["char"].Rows[j][1].ToString())
{
strCategory[i]+=date[j]+'\t';
strValue[i]+=myCategory[j].ToString()+'\t'
}
else
{
//下面可能有问题,所以,我把下面的一行做了修改
// strCategory[i]+=""+'\t';
strCategory[i]+=date[j]++'\t';
strValue[i]+=""+'\t';
}
}
}

结果是按时间排序了,但是显示不正确,并且有信息丢失。
请各位仁兄给我宝贵的意见!

由于是键盘输入,代码可能有错误,这个不是重点,重点在我做修改的地方!
...全文
700 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
boytomato 2006-10-24
  • 打赏
  • 举报
回复
http://www.cnblogs.com/gwazy/archive/2005/10/27/262832.html
daichenghua 2006-10-24
  • 打赏
  • 举报
回复
你到网上搜索这个东西,蛮好的
Infragistics NetAdvantage 2005 Volume 1
fygdweb 2006-10-17
  • 打赏
  • 举报
回复
不过,俺要的结果倒是反映出来了!
http://www.wave12.com/web/SigCon.asp?bCate=41&sCateName=柱状图&ID=149&CateName=wsChart4.5(DLL)

用OWC怎么做啊?
期待中!
fygdweb 2006-10-17
  • 打赏
  • 举报
回复
老兄,多谢了!
俺要的是代码解决方法!
不过还是谢谢了!
pkkfaii 2006-10-17
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/5009/5009745.xml?temp=.6102411
以前发的。。看看能用上不
fygdweb 2006-10-16
  • 打赏
  • 举报
回复
就是用owc 做啊!
但是我要画的是多组的柱状图!
2006-2-1 2006-2-2 2006-2-3 2006-2-4
low 10 27 50 20
high 30 38 34 31
quit 45 46 45 43

X方向:个数
Y方向:年月日,要按顺序显示.
pkkfaii 2006-10-15
  • 打赏
  • 举报
回复
用 owc 做不可以吗。。
可以的话我可以提供相关的代码。画其他的图也可以
fygdweb 2006-10-15
  • 打赏
  • 举报
回复
就是用owc 做啊!
但是我要画的是多组的柱状图!
2006-2-1 2006-2-2 2006-2-3 2006-2-4
low 10 27 50 20
high 30 38 34 31
quit 45 46 45 43




fygdweb 2006-10-12
  • 打赏
  • 举报
回复
自己顶上来!

4,820

社区成员

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

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