想用OWC11 画一个这样的组合图形! |-| |-|
| | |-| | |_
| |-| | | | | |
| | | | |_ | | |
| | | | | | | | |
----------------------可是出来的都是柱图都 叠在了一起! 怎么把他们分开啊!代码如下: public string CreateljbChart2(string Xname, string Yname, string fileName)
{
Microsoft.Office.Interop.Owc11.ChartSpace objCSpace = new Microsoft.Office.Interop.Owc11.ChartSpaceClass();//创建ChartSpace对象来放置图表
Microsoft.Office.Interop.Owc11.ChChart objChart = objCSpace.Charts.Add(0);//在ChartSpace对象中添加图表,Add方法返回chart对象
//objCSpace.Charts[0]==objChart 以后就可以替换的使用了!
//指定图表是否需要图例
objChart.HasLegend = true;
#region 样式设置
//标题
objChart.HasTitle = true;
objChart.Title.Caption = _title;
objChart.Title.Font.Bold = true;
objChart.Title.Font.Color = "blue";
#endregion //x,y轴的图示说明
objChart.Axes[0].HasTitle = true;
objChart.Axes[0].Title.Caption = "X : " + Xname + "";
objChart.Axes[1].HasTitle = true;
objChart.Axes[1].Title.Caption = "Y : " + Yname + "";
//添加一个series
Microsoft.Office.Interop.Owc11.ChSeries ThisChSeries = objChart.SeriesCollection.Add(0);
//给定series的名字
ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimSeriesNames,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), SeriesName);
//给定分类
ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strCategory);
//给定值
ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strValue); //峰值的数据是否显示
Microsoft.Office.Interop.Owc11.ChDataLabels dl = objChart.SeriesCollection[0].DataLabelsCollection.Add();
dl.HasValue = true; Microsoft.Office.Interop.Owc11.ChSeries ThisChSeries2 = objChart.SeriesCollection.Add(1);
ThisChSeries2.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues, ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strValue);//dd ////给定series的名字
ThisChSeries2.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimSeriesNames,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), SeriesName2);
////给定分类
//ThisChSeries2.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories,
//Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strCategory);
//给定值
ThisChSeries2.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strValue2);
//峰值的数据是否显示
Microsoft.Office.Interop.Owc11.ChDataLabels dl2 = objChart.SeriesCollection[1].DataLabelsCollection.Add();
dl2.HasValue = true; //加上Y轴会有两条??
//Microsoft.Office.Interop.Owc11.ChScaling axIncomeAxis = ThisChSeries.get_Scalings(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues);
//objChart.Axes.Add(axIncomeAxis); objChart.Legend.Position = Microsoft.Office.Interop.Owc11.ChartLegendPositionEnum.chLegendPositionBottom;//图例位置的设置 #region 图形组合两个为一组 ThisChSeries.Type = Microsoft.Office.Interop.Owc11.ChartChartTypeEnum.chChartTypeColumnClustered;
ThisChSeries2.Type = Microsoft.Office.Interop.Owc11.ChartChartTypeEnum.chChartTypeColumnClustered;
#endregion string filename = fileName + ".gif";
string strAbsolutePath = _phaysicalimagepath + "\\" + filename;
objCSpace.ExportPicture(strAbsolutePath, "GIF", _picwidth, _pichight); //输出成GIF文件.
return strAbsolutePath;
}
| | |-| | |_
| |-| | | | | |
| | | | |_ | | |
| | | | | | | | |
----------------------可是出来的都是柱图都 叠在了一起! 怎么把他们分开啊!代码如下: public string CreateljbChart2(string Xname, string Yname, string fileName)
{
Microsoft.Office.Interop.Owc11.ChartSpace objCSpace = new Microsoft.Office.Interop.Owc11.ChartSpaceClass();//创建ChartSpace对象来放置图表
Microsoft.Office.Interop.Owc11.ChChart objChart = objCSpace.Charts.Add(0);//在ChartSpace对象中添加图表,Add方法返回chart对象
//objCSpace.Charts[0]==objChart 以后就可以替换的使用了!
//指定图表是否需要图例
objChart.HasLegend = true;
#region 样式设置
//标题
objChart.HasTitle = true;
objChart.Title.Caption = _title;
objChart.Title.Font.Bold = true;
objChart.Title.Font.Color = "blue";
#endregion //x,y轴的图示说明
objChart.Axes[0].HasTitle = true;
objChart.Axes[0].Title.Caption = "X : " + Xname + "";
objChart.Axes[1].HasTitle = true;
objChart.Axes[1].Title.Caption = "Y : " + Yname + "";
//添加一个series
Microsoft.Office.Interop.Owc11.ChSeries ThisChSeries = objChart.SeriesCollection.Add(0);
//给定series的名字
ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimSeriesNames,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), SeriesName);
//给定分类
ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strCategory);
//给定值
ThisChSeries.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strValue); //峰值的数据是否显示
Microsoft.Office.Interop.Owc11.ChDataLabels dl = objChart.SeriesCollection[0].DataLabelsCollection.Add();
dl.HasValue = true; Microsoft.Office.Interop.Owc11.ChSeries ThisChSeries2 = objChart.SeriesCollection.Add(1);
ThisChSeries2.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues, ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strValue);//dd ////给定series的名字
ThisChSeries2.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimSeriesNames,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), SeriesName2);
////给定分类
//ThisChSeries2.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimCategories,
//Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strCategory);
//给定值
ThisChSeries2.SetData(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues,
Microsoft.Office.Interop.Owc11.ChartSpecialDataSourcesEnum.chDataLiteral.GetHashCode(), strValue2);
//峰值的数据是否显示
Microsoft.Office.Interop.Owc11.ChDataLabels dl2 = objChart.SeriesCollection[1].DataLabelsCollection.Add();
dl2.HasValue = true; //加上Y轴会有两条??
//Microsoft.Office.Interop.Owc11.ChScaling axIncomeAxis = ThisChSeries.get_Scalings(Microsoft.Office.Interop.Owc11.ChartDimensionsEnum.chDimValues);
//objChart.Axes.Add(axIncomeAxis); objChart.Legend.Position = Microsoft.Office.Interop.Owc11.ChartLegendPositionEnum.chLegendPositionBottom;//图例位置的设置 #region 图形组合两个为一组 ThisChSeries.Type = Microsoft.Office.Interop.Owc11.ChartChartTypeEnum.chChartTypeColumnClustered;
ThisChSeries2.Type = Microsoft.Office.Interop.Owc11.ChartChartTypeEnum.chChartTypeColumnClustered;
#endregion string filename = fileName + ".gif";
string strAbsolutePath = _phaysicalimagepath + "\\" + filename;
objCSpace.ExportPicture(strAbsolutePath, "GIF", _picwidth, _pichight); //输出成GIF文件.
return strAbsolutePath;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货