chart的X轴为时间类型,但是曲线显示不出来,是怎么回事。急急急!麻烦大家指教指教

解决方案 »

  1.   

    http://blog.csdn.net/xianfajushi/article/details/7493697
      

  2.   

    series3.IsXValueIndexed = true;  一定要True吗?
      

  3.   

    如果我把series3.IsXValueIndexed 设置成true,就不能显示多条曲线,X轴也是时间类型的,会出现一个大叉
      

  4.   

      // 
                // chart1
                // 
                chartArea1.AxisX.IntervalAutoMode = System.Windows.Forms.DataVisualization.Charting.IntervalAutoMode.VariableCount;
                chartArea1.AxisX.LabelStyle.Font = new System.Drawing.Font("Trebuchet MS", 8.25F, System.Drawing.FontStyle.Bold);
                chartArea1.AxisX.LabelStyle.Format = "HH:mm:ss.fff";
                chartArea1.AxisX.MajorGrid.Interval = 100;
                chartArea1.AxisX.MajorGrid.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Milliseconds;
                chartArea1.AxisX.MajorGrid.LineColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
                chartArea1.AxisX.MajorTickMark.Interval = 100;
                chartArea1.AxisX.MajorTickMark.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Milliseconds;
                chartArea1.AxisX.LabelStyle.Interval = 100;
                chartArea1.AxisX.LabelStyle.IntervalType = System.Windows.Forms.DataVisualization.Charting.DateTimeIntervalType.Milliseconds;
                chartArea1.AxisX.LineColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));int sigcount = iRunningSeries.iSignalList.Count;
                    for (int i = 0; i < sigcount; i++)
                    {
                        Series series = new Series();
                        series.Name = iRunningSeries.iSignalList[i].iName;
                        series.ChartArea = "Default";
            
                        series.XValueType = ChartValueType.DateTime;
                        series.IsXValueIndexed = false;
                        series.ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.Line;
                        series.Legend = "Default";
                        chart1.Series.Add(series);
                        }//动态添加数据点,n.iName为对应series的名字
    chart1.Series[n.iName].Points.AddXY(BindingTime.ToOADate(), aVaribleChart.iValue);
    这样设置能出现多条曲线的显示,但是前提条件要滚动条不可用,可是数据不断压缩。如果加上滚动条,曲线显示不出来
    不知道出现这种状况要怎么解决
      

  5.   

    那你该去下载一个这个控件示例看看
    下面是动态添加曲线代码参考
                for (int 多 = 0, 数 = 多人组.Count; 多 < 数; 多++)//多人循环体
                {
                    if (多人组[多].Split('。')[0] != "")
                    {
                        曲线显示.Series.Add(分解[0] + "智力"); 曲线显示.Series.Add(分解[0] + "情绪"); 曲线显示.Series.Add(分解[0] + "体力");
                        曲线显示.Series.Add(分解[0] + "均值"); 曲线显示.Titles.Add(分解[0]).Name = 分解[0];
                        曲线显示.Series[分解[0] + "智力"].IsXValueIndexed = true; 曲线显示.Series[分解[0] + "智力"].ChartType = SeriesChartType.Spline;
                        曲线显示.Series[分解[0] + "情绪"].IsXValueIndexed = true; 曲线显示.Series[分解[0] + "情绪"].ChartType = SeriesChartType.Spline;
                        曲线显示.Series[分解[0] + "体力"].IsXValueIndexed = true; 曲线显示.Series[分解[0] + "体力"].ChartType = SeriesChartType.Spline;
                        曲线显示.Series[分解[0] + "均值"].IsXValueIndexed = true; 曲线显示.Series[分解[0] + "均值"].ChartType = SeriesChartType.Spline;
                    }
                }
    同时多条曲线必须是同一个X轴设置。
      

  6.   


    我要做的并不是同时对多条曲线添加数据,而是每次来一个数据点就判断它是属于哪一条曲线的,然后把它Add进去,如果你把.IsXValueIndexed设置成true的话,它只会出现大叉叉
      

  7.   

    200个示例下载地址
    MSDN
    出现打叉可能因为X轴不一致原因你可在示例中查找参考。