Beispiel #1
0
        private void ReadSeries()
        {
            int sz = hydrometDataTable.Columns.Count;



            tChart1.Series.Clear();
            tChart1.Zoom.Undo();
            InitAxis();
            tChart1.Panel.MarginLeft  = 10;
            tChart1.Panel.MarginUnits = Steema.TeeChart.PanelMarginUnits.Percent;
            TChartDataLoader loader = new TChartDataLoader(this.tChart1);

            for (int i = 1; i < sz; i += 1)
            {
                try
                {
                    string columnName = hydrometDataTable.Columns[i].ColumnName;
                    Steema.TeeChart.Styles.Line series = loader.CreateSeries(hydrometDataTable, columnName, Reclamation.TimeSeries.TimeInterval.Daily, true);

                    series.VertAxis        = Steema.TeeChart.Styles.VerticalAxis.Left;
                    series.Pointer.Visible = true;

                    var    tokens = TextFile.Split(columnName);
                    string pcode  = "";
                    string cbtt   = "";
                    if (tokens.Length == 2)
                    {
                        cbtt  = tokens[0].Trim();
                        pcode = tokens[1].Trim();
                    }

                    SetAxis(series, pcode);

                    tChart1.Series.Add(series);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString() + " series index " + i);
                    Logger.WriteLine(ex.ToString(), "ui");
                }
            }

            tChart1.Axes.Left.Automatic = true;
        }
Beispiel #2
0
        /// <summary>
        /// graphs data in dataTable
        /// </summary>
        void Graph()
        {
            UserPreference.Save("ShowPoints", this.checkBoxShowPoints.Checked.ToString());

            tChart1.Text = "";
            if (dataTable == null)
            {
                return;
            }
            Console.WriteLine("graph()");

            tChart1.Series.Clear();
            tChart1.Zoom.Undo();
            int sz = dataTable.Columns.Count;

            if (sz == 2 || (sz == 3 && m_db == TimeInterval.Irregular) ||
                (sz == 3 && m_db == TimeInterval.Monthly))     // single graph series.
            {
                this.tChart1.Legend.Visible = false;
            }
            else
            {
                this.tChart1.Legend.Visible = true;
            }
            string subTitle = "";

            this.tChart1.Header.Text       = GetHeaderTitle(out subTitle);
            this.tChart1.SubHeader.Visible = false;
            if (subTitle.Trim() != "")
            {
                this.tChart1.SubHeader.Text    = subTitle;
                this.tChart1.SubHeader.Visible = true;
            }
            int increment = 1;

            if (m_db == TimeInterval.Irregular || m_db == TimeInterval.Monthly)
            {
                increment = 2;
            }
            tChart1.Axes.Custom.RemoveAll();
            tChart1.Panel.MarginLeft                  = 3;
            tChart1.Axes.Left.Title.Text              = "";
            tChart1.Axes.Right.Title.Text             = "";
            tChart1.Axes.Bottom.Labels.DateTimeFormat = "MM/dd";
            for (int i = 1; i < sz; i += increment)
            {
                try
                {
                    string columnName = dataTable.Columns[i].ColumnName;
                    double avg        = AverageOfColumn(dataTable, columnName);
                    Steema.TeeChart.Styles.Line series = MakeSeries(dataTable, columnName, avg);

                    series.VertAxis        = Steema.TeeChart.Styles.VerticalAxis.Left;
                    series.Pointer.Visible = this.checkBoxShowPoints.Checked;

                    var    tokens = TextFile.Split(columnName);
                    string pcode  = "";
                    string cbtt   = "";
                    if (tokens.Length == 2)
                    {
                        cbtt  = tokens[0].Trim();
                        pcode = tokens[1].Trim();
                    }


                    string units = LookupUnits(pcode);


                    if (UserPreference.Lookup("MultipleYAxis") == "True")
                    {
                        TChartDataLoader.SetupMultiLeftAxis(tChart1, series, units);
                    }
                    else
                    {
                        TChartDataLoader.SetupAxisLeftRight(tChart1, series, units);
                    }

                    /*    //if (i == 1)
                     *  //{
                     *  //    vertLabel1 = Hydromet.LookupMcfPcodeDescription(cbtt, pcode);
                     *  //    tChart1.Axes.Left.Title.Text = vertLabel1;
                     *  //    firstPcode = pcode;
                     *  //}
                     *  //else
                     *  //{ // determine if we should use right vertical axis.
                     *  //    if (firstPcode.ToLower().Trim() != pcode.Trim().ToLower())
                     *  //    {
                     *  //        series.VertAxis = Steema.TeeChart.Styles.VerticalAxis.Right;
                     *  //    }
                     *  //}
                     */


                    tChart1.Series.Add(series);
                }
                catch (Exception e)
                {
                    MessageBox.Show(e.ToString() + " series index " + i);
                    Logger.WriteLine(e.ToString(), "ui");
                }

                if (tChart1.Series.Count > 0)
                {
                    dragPoint1.Series = tChart1[0];
                    dragPoint1.Active = true;
                }
                else
                {
                    dragPoint1.Active = false;
                }
            }
            //tChart1.Zoom.ZoomPercent(94);
            this.comboBoxEditSeries_SelectedIndexChanged(null, null);
        }