如题!
谢谢!!!

解决方案 »

  1.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=ADB6D011-A4AD-43A0-A8BF-3CED872A7A95
      

  2.   

    http://www.hedgerwow.com/BLOG/owc/OWCMain.htm
      

  3.   

    string strValue = "100" + '\t' +"200" + '\t' + "300" + '\t' + "400" + '\t';
    objChart.SeriesCollection[0].SetData(OWC.ChartDimensionsEnum.chDimYValues,(int)OWC.ChartSpecialDataSourcesEnum.chDataLiteral, strValue); 我象上面这样设置提示:指定的维对当前图表类型而言是无效的。
      

  4.   

    TO:net_lover(孟子E章)
    你的文章我看过了,好象没有如何设置Y轴的呀?
      

  5.   

    TO:rockrabbit(紫色石头)
    你的晕是什么意思???
    是有设置Y轴的数据吗,请给我代码,谢谢!
      

  6.   

    下面是C#版本的OWC.asp.csusing System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using Microsoft.Office.Interop; 
    namespace Microsoft.Office.Interop.OWC使用指南
    {
     /// <summary>
     /// WebForm1 的摘要说明。
     /// </summary>
     public class WebForm1 : System.Web.UI.Page
     {
      protected System.Web.UI.WebControls.PlaceHolder ChartHolder;
      private Microsoft.Office.Interop.OWC.ChartChartTypeEnum GetChartType(int typeIndex)
      {
       int i;
       Microsoft.Office.Interop.OWC.ChartChartTypeEnum myTE;
       i=typeIndex;
       
       switch(i)
       {
        case 0:
         myTE=Microsoft.Office.Interop.OWC.ChartChartTypeEnum.chChartTypeColumnClustered;
         return myTE;
        case 1:
         myTE=Microsoft.Office.Interop.OWC.ChartChartTypeEnum.chChartTypePie;
         return myTE;
        case 2:
         myTE=Microsoft.Office.Interop.OWC.ChartChartTypeEnum.chChartTypeSmoothLine;
         return myTE;
        case 3:
         myTE=Microsoft.Office.Interop.OWC.ChartChartTypeEnum.chChartTypeArea;
         return myTE;
        case 4:
         myTE=Microsoft.Office.Interop.OWC.ChartChartTypeEnum.chChartTypeRadarLine;
         return myTE;
        default:
         myTE=Microsoft.Office.Interop.OWC.ChartChartTypeEnum.chChartTypeColumnClustered;
         return myTE;
       }
      }  private void Page_Load(object sender, System.EventArgs e)
      {
       // 在此处放置用户代码以初始化页面
       //创建ChartSpace对象来放置图表
       Microsoft.Office.Interop.OWC.ChartSpace objCSpace = new Microsoft.Office.Interop.OWC.ChartSpaceClass();    //在ChartSpace对象中添加图表,Add方法返回chart对象
       
       Microsoft.Office.Interop.OWC.ChChart   objChart = objCSpace.Charts.Add (0);    //指定图表的类型。类型由Microsoft.Office.Interop.OWC.ChartChartTypeEnum枚举值得到
       //objChart.Type = Microsoft.Office.Interop.OWC.ChartChartTypeEnum.chChartTypeColumnClustered;
       //上面的是画棒图的方法
       //objChart.Type = Microsoft.Office.Interop.OWC.ChartChartTypeEnum.chChartTypeSmoothLine;
       //上面的是画平滑曲线的方法此主题相关图片如下:   objChart.Type =Microsoft.Office.Interop.OWC.ChartChartTypeEnum.chChartTypeRadarLine;
       //上面的是画雷达线的方法
       //objChart.Type =Microsoft.Office.Interop.OWC.ChartChartTypeEnum.chChartTypeArea;
       //上面的是画区域线的方法   //objChart.Type =Microsoft.Office.Interop.OWC.ChartChartTypeEnum.chChartTypePie;
       //上面的是画饼图的方法,但是要关掉一些参数,比如
       /*//objChart.Axes[0].HasTitle = true;
       //objChart.Axes[0].Title.Caption = "Y : 数量";
       //objChart.Axes[1].HasTitle = true;
       //objChart.Axes[1].Title.Caption = "X : 月份";    * */
      

  7.   

    //指定图表是否需要图例
       objChart.HasLegend = true;   //给定标题
       objChart.HasTitle = true;
       objChart.Title.Caption= "上半年分布图";   //给定x,y轴的图示说明
       objChart.Axes[0].HasTitle = true;
       objChart.Axes[0].Title.Caption = "Y : 数量";
       objChart.Axes[1].HasTitle = true;
       objChart.Axes[1].Title.Caption = "X : 月份";   //计算数据
       /*categories 和 values 可以用tab分割的字符串来表示*/
       string strSeriesName = "图例 1";
       string strCategory = "1" + '\t' + "2" + '\t' + "3" + '\t'+"4" + '\t' + "5" + '\t' + "6" + '\t';
       string strvalue = "9" + '\t' + "8" + '\t' + "4" + '\t'+"10" + '\t' + "12" + '\t' + "6" + '\t';   //添加一个series
       objChart.SeriesCollection.Add(0);   //给定series的名字
       objChart.SeriesCollection[0].SetData (Microsoft.Office.Interop.OWC.ChartDimensionsEnum.chDimSeriesNames,
        + (int)Microsoft.Office.Interop.OWC.ChartSpecialDataSourcesEnum.chDataLiteral, strSeriesName);   //给定分类
       objChart.SeriesCollection[0].SetData (Microsoft.Office.Interop.OWC.ChartDimensionsEnum.chDimCategories,
        + (int)Microsoft.Office.Interop.OWC.ChartSpecialDataSourcesEnum.chDataLiteral, strCategory);         //给定值
       objChart.SeriesCollection[0].SetData
        (Microsoft.Office.Interop.OWC.ChartDimensionsEnum.chDimvalues,
        (int)Microsoft.Office.Interop.OWC.ChartSpecialDataSourcesEnum.chDataLiteral, strvalue); 
       //输出成GIF文件.
       string strAbsolutePath = (Server.MapPath(".")) + "\\test.gif";
       objCSpace.ExportPicture(strAbsolutePath, "GIF", 600, 350);   //创建GIF文件的相对路径.
       string strRelativePath = "./test.gif";   //把图片添加到placeholder.
       string strImageTag = "<IMG SRC='" + strRelativePath + "'/>";
       ChartHolder.Controls.Add(new LiteralControl(strImageTag));
      }  #region Web Form Designer generated code
      override protected void OnInit(EventArgs e)
      {
       //
       // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
       //
       InitializeComponent();
       base.OnInit(e);
      }
     
      /// <summary>
      /// 设计器支持所需的方法 - 不要使用代码编辑器修改
      /// 此方法的内容。
      /// </summary>
      private void InitializeComponent()
      {    
       this.Load += new System.EventHandler(this.Page_Load);  }
      #endregion }
    }
    如果用ADO.NET的DataSet对象,可以生成以TAB分割的字符串:strvalue += (nodes.Item(j).ChildNodes.Item(0).InnerText + '\t');
    strCategory += (nodes.Item(j).ChildNodes.Item(1).InnerText + '\t');Microsoft.Office.Interop名称空间指向Office XP PIA,PIA应该事先安装到Web服务器上。编译源代码时要用到Office XP PIA OWC的DLL文件。如果用VS.NET编译,只要加入一个Microsoft.Office.Interop.Owc.dll文件的引用即可(位于解开Office XP PIA文件的目录),如果从命令行编译,必须按照下列方式使用/r:参数: vbc /t:library /out:bin\getchart.dll /r:System.dll /r:System.Web.dll 
       /r:System.Data.dll 
       /r:C:\oxppia\Microsoft.Office.Interop.Owc.dll getchart.aspx.vb
      

  8.   

    给你相关的代码,参考一下:
    (1)设置刻度为500:
    chartspace1.Charts(0).Axes(1).majorunit=500(2)设置最大刻度=2000:
    chartspace1.Charts(0).Axes(1).scaling.maximum=2000(3)设置最小刻度=100
    chartspace1.Charts(0).Axes(1).scaling.minimum=2000此外,这些都可以在ChartSpace的帮助文档中找到。
    方法:在VS.net(或者VS)Form--无论是WebForm还是WinForm--中的ChartSpace组件上点右键,选择属性,在“常规”页有一个问号图标,点此图标就启动帮助文档了。查看其中的“编程信息”一章。基本上,所有的OWC开发内容都涉及到了。
      

  9.   

    可以实现的。
    我画曲线时候也遇到这个问题,
    chart.Axes[1].Scaling下有很多属性。比如你看我的:(动态定义纵坐标的最大和最小值) //纵坐标的最大和最小刻度
    if(dsSource.Tables[0].DefaultView.Count>0)
    {
    chart.Axes[1].Scaling.HasAutoMaximum = false;
    chart.Axes[1].Scaling.Maximum = Convert.ToDouble(dsSource.Tables[0].Compute("MAX(necc_price)",string.Empty))+200;
    chart.Axes[1].Scaling.HasAutoMinimum = false;
    chart.Axes[1].Scaling.Minimum = Convert.ToDouble(dsSource.Tables[0].Compute("MIN(necc_price)",string.Empty))-200;
    }