Ejemplo n.º 1
0
        /// <summary>
        /// Draws the 'thumb' version of the chart
        /// </summary>
        /// <param name="ts"></param>
        /// <param name="chartType"></param>
        /// <param name="file"></param>
        private void DrawThumb2(ITimeSeries ts, string chartType, string file)
        {
            GraphPane myPane = new GraphPane(new RectangleF(0, 0, this.ThumbWidth, this.ThumbHeight),
                "", "", "");
            if (ts.Count > 0)
            {
                myPane.XAxis.Scale.Min = XDate.DateTimeToXLDate(ts.Start);
                myPane.XAxis.Scale.Max = XDate.DateTimeToXLDate(ts.End);
                LineItem myCurve;
                StickItem myCurve2;
                switch (chartType)
                {
                    case "hla":
                        myCurve = myPane.AddCurve("", ts, Color.Blue, SymbolType.None);
                        myCurve.Line.Width = 0;
                        myCurve.Line.Fill = new Fill(Color.Blue);
                        break;
                    case "rad":
                        myCurve = myPane.AddCurve("", ts, Color.Orange, SymbolType.None);
                        myCurve.Line.Width = 0;
                        myCurve.Line.Fill = new Fill(Color.Orange);
                        break;
                    case "sra":
                        myCurve2 = myPane.AddStick("", ts, Color.Blue);
                        //cumulative precipitation..
                        ITimeSeries ts2 = ts.ShowCumulative();
                        myCurve = myPane.AddCurve("", ts2, Color.Red, SymbolType.None);
                        myCurve.IsY2Axis = true;
                        break;
                    case "tep":
                        myCurve = myPane.AddCurve("", ts, Color.Red, SymbolType.None);
                        double[] xdata = new double[]{XDate.DateTimeToXLDate(ts.Start),
                            XDate.DateTimeToXLDate(ts.End)};
                        double[] ydata = new double[]{0.0, 0.0};
                        LineItem myCurve3 = myPane.AddCurve("", xdata, ydata, Color.Blue);
                        break;
                    default:
                        myCurve = myPane.AddCurve("", ts, Color.Red, SymbolType.None);
                        break;
                }
                myPane.XAxis.IsVisible = false;
                myPane.YAxis.IsVisible = false;
                myPane.Y2Axis.IsVisible = false;
                myPane.XAxis.MajorGrid.IsVisible = false;
                myPane.Border.Color = Color.White;
                myPane.Legend.IsVisible = false;

                myPane.AxisChange();
                Bitmap bmp = ExportGraph(myPane);
                //string filePath = _dir + "m-" + file;
                bmp.Save(file, System.Drawing.Imaging.ImageFormat.Png);
                bmp.Dispose();
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Plot the hourly precipitation !!!!
        /// </summary>
        /// <param name="ts"></param>
        /// <param name="myPane"></param>
        private void PlotPrecipHour(ITimeSeries ts, GraphPane myPane)
        {
            DateTime MinDate, MaxDate;

            if (ts.Count > 0)
            {
                TimeSeries ts1 = (TimeSeries)ts.AggregateHourly();

                MinDate = ts1.Start;
                MaxDate = ts1.End;

                //Main creation of curve
                double totalDays = (MaxDate.Subtract(MinDate)).TotalDays;
                if (totalDays < 2)
                {
                    BarItem myCurve = myPane.AddBar("srážky", ts1, Color.Blue);
                    myCurve.Bar.Border.Color = Color.Blue;
                    myCurve.Bar.Border.IsVisible = true;
                    myCurve.Bar.Fill.Type = FillType.Solid;
                    myCurve.Bar.Fill.IsScaled = false;
                }
                else
                {
                    StickItem myCurve = myPane.AddStick("srážky", ts1, Color.Blue);
                }

                //cumulative precipitation..
                if (ts != null)
                {

                    TimeSeries ts2 = (TimeSeries)ts.ShowCumulative();
                    LineItem myCurve2 = myPane.AddCurve("suma srážek", ts2, Color.Red, SymbolType.None);
                    myCurve2.IsY2Axis = true;

                    myPane.AxisChange();
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Plot the hourly precipitation !!!!
        /// </summary>
        private void PlotPrecipHour(ITimeSeries ts, GraphPane myPane)
        {
            TimeInterval interval = new TimeInterval(ts.Start, ts.End);
            string varName = Resources.precip_label;

            //Main creation of curve
            if ( interval.Length.TotalDays <= 2 )
            {
                BarItem myCurve = myPane.AddBar(varName, ts, Color.Blue);
                myCurve.Bar.Border.Color = Color.Blue;
                myCurve.Bar.Border.IsVisible = true;
                myCurve.Bar.Fill.Type = FillType.Solid;
                myCurve.Bar.Fill.IsScaled = false;
            }
            else
            {
                StickItem myCurve = myPane.AddStick(varName, ts, Color.Blue);
            }

            //cumulative precipitation..
            ITimeSeries ts2 = ts.ShowCumulative();
            LineItem myCurve2 = myPane.AddCurve(Resources.precip_sum_label,
                ts2, Color.Red, SymbolType.None);
            myCurve2.IsY2Axis = true;
            myPane.AxisChange();
        }