• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

关于OWC画直方图的问题:这样的图例应该怎么做?

JeffCls 2004-10-25 03:18:48
现有这样一个表格:
Name Count SaleCount
Jeff 50 10
David 63 23
Peter 56 40
想画一个简单的直方图,表示出每个人(X轴是人)的销售情况.在EXCEL中很容易就画出来了,图例中有两个系列:Count,SaleCount
但是通过程序画始终都有三个系列:Count,SaleCount,系列1,但是图上明明只表示了两项数据Count和SaleCount,图例上却是:Count,SaleCount,系列1,让人感觉就不大对劲...不知道是怎么回事,附我的代码:
dataSource是一个DataTable
for(int i=0;i<this._dataSource.Columns.Count;i++)
{
for(int j=0;j<this._dataSource.Rows.Count;j++)
{
valuesAry[j]=this._dataSource.Rows[j][i].ToString();
}
string values=String.Join("\t",valuesAry);
if(i==0)
{
//第零列被当作是要标在X轴上的..那个该死的"系列1"就是从这里产生的.
this._chartSpace.Charts[0].SetData(OWC10.ChartDimensionsEnum.chDimCategories,Convert.ToInt32(OWC10.ChartSpecialDataSourcesEnum.chDataLiteral),values);
}
else
{
this._chartSpace.Charts[0].SeriesCollection.Add(i-1);
this._chartSpace.Charts[0].SeriesCollection[i-1].SetData(OWC10.ChartDimensionsEnum.chDimSeriesNames,Convert.ToInt32(OWC10.ChartSpecialDataSourcesEnum.chDataLiteral),this._dataSource.Columns[i].ColumnName);
this._chartSpace.Charts[0].SeriesCollection[i-1].SetData(OWC10.ChartDimensionsEnum.chDimValues,Convert.ToInt32(OWC10.ChartSpecialDataSourcesEnum.chDataLiteral),values);
}
}
...全文
163 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qinguangjun123 2004-11-05
//第零列被当作是要标在X轴上的..那个该死的"系列1"就是从这里产生的.
this._chartSpace.Charts[0].SetData(OWC10.ChartDimensionsEnum.chDimCategories,Convert.ToInt32(OWC10.ChartSpecialDataSourcesEnum.chDataLiteral),values);
改为:this._chartSpace.Charts[0].SetData(ChartDimensionsEnum.chDimCategories, ChartSpecialDataSourcesEnum.chDataLiteral,values)
我认为应该是这样,我没有测试。!

回复
JeffCls 2004-10-25
还有一个问题,如何在图表上显示每条柱具体的数据?在EXCEL中可以通过"数据标志"来设置,但是用代码不知怎么弄.查了论坛,没发现解决办法,看了VB宏,它用的是ApplyDataLabel这样一个东西....但是在C#程序中找不到这样一个属性.
回复
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-10-25 03:18
社区公告
暂无公告