OWC画图表

由于需要用,自己查一些资料,写的一个OWC画图表的方法,希望有用

/**/ /// <summary>
    
/// 生成图表
    
/// </summary>
    
/// <param name="strSeriesName">图表名称</param>
    
/// <param name="strCategory">类型</param>
    
/// <param name="strValue"></param>
    
/// <param name="Caption">图标标题</param>
    
/// <param name="Type">类型</param>
    
/// <param name="Longth">图片长</param>
    
/// <param name="Width">图片宽</param>

     public   string  GengerateChart( string  strSeriesName,  string  strCategory,  string  strValue,  string  Caption,  string  Type,  int  Longth,  int  Width)
    
{
        
string chartSeriesName = strSeriesName;
        
string chartCategory = strCategory;
        
string chartValue = strValue;
        
string chartCaption = Caption;
        
string chartType = Type;
        
int chartLongth = Longth;
        
int chartWidth = Width;

        
//创建ChartSpace对象来放置图表
        ChartSpace laySpace = new ChartSpaceClass();

        
//在ChartSpace对象中添加图表
        ChChart InsertChart = laySpace.Charts.Add(0);
        
switch (chartType)
        
{
            
case "Pie"://饼状图
                {
                    InsertChart.Type 
= ChartChartTypeEnum.chChartTypePie;
                    InsertChart.HasLegend 
= true;
                    InsertChart.HasTitle 
= true;//为图表添加标题
                    InsertChart.Title.Caption = chartCaption;//标题名称
                    InsertChart.Title.Font.Color = "Blue";
                    InsertChart.Title.Font.Name 
= "黑体";
                    
//指定图表是否需要图例标注
                    InsertChart.HasLegend = true;


                }

                
break;

            
case "Line"://折线图
                {
                    InsertChart.Type 
= ChartChartTypeEnum.chChartTypeLine;
                    
//指定图表是否需要图例标注
                    InsertChart.HasLegend = true;

                    InsertChart.HasTitle 
= true;//为图表添加标题
                    InsertChart.Title.Caption = chartCaption;//标题名称
                    InsertChart.Title.Font.Color = "Blue";
                    InsertChart.Title.Font.Name 
= "黑体";
                }

                
break;
            
case "BarClustered"://条形图
                {
                    InsertChart.Type 
= ChartChartTypeEnum.chChartTypeBarClustered;
                    
//指定图表是否需要图例标注
                    InsertChart.HasLegend = true;

                    InsertChart.HasTitle 
= true;//为图表添加标题
                    InsertChart.Title.Caption = chartCaption;//标题名称
                    InsertChart.Title.Font.Color = "Blue";
                    InsertChart.Title.Font.Name 
= "黑体";
                }

                
break;
            
case "Area"://面积图
                {
                    InsertChart.Type 
= ChartChartTypeEnum.chChartTypeArea;
                    
//指定图表是否需要图例标注
                    InsertChart.HasLegend = true;
                    InsertChart.HasTitle 
= true;//为图表添加标题
                    InsertChart.Title.Caption = chartCaption;//标题名称
                    InsertChart.Title.Font.Color = "Blue";
                    InsertChart.Title.Font.Name 
= "黑体";
                }

                
break;
        }


        
//添加一个series系列
        InsertChart.SeriesCollection.Add(0);

        
//给定series系列的名字
        InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimSeriesNames, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, chartSeriesName);

        
//给定分类
        InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimCategories, +(int)ChartSpecialDataSourcesEnum.chDataLiteral, chartCategory);

        
//给定值
        InsertChart.SeriesCollection[0].SetData(ChartDimensionsEnum.chDimValues, (int)ChartSpecialDataSourcesEnum.chDataLiteral, chartValue);

        
if (chartType == "Pie")
        
{
            
//增加数据值标签
            InsertChart.SeriesCollection[0].DataLabelsCollection.Add();

            InsertChart.SeriesCollection[
0].DataLabelsCollection[0].HasValue = true;
            InsertChart.SeriesCollection[
0].DataLabelsCollection[0].HasPercentage = true;
        }


        
//输出文件.
        string imageName = System.DateTime.Now.ToShortDateString().Replace("-""").Trim() + System.DateTime.Now.ToLongTimeString().Replace(":""").Trim();
        imageName 
= imageName + System.DateTime.Now.Millisecond + "Chart.gif";
        
string strAbsolutePath = (Server.MapPath(".")) + "\\" + imageName;
        laySpace.ExportPicture(strAbsolutePath, 
"GIF", chartLongth, chartWidth);

        
//创建GIF文件的相对路径.
        string strRelativePath = "./" + imageName;

        
//把图片添加到placeholder中,并在页面上显示
        string strImageTag = "<IMG SRC='" + strRelativePath + "'/>";
        
//this.PlaceHolder1.Controls.Add(new LiteralControl(strImageTag));
        return strRelativePath;


    }
效果图如下:

转载于:https://www.cnblogs.com/ucetgg/archive/2008/04/24/1169847.html

  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页
评论
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值