Example #1
0
        public static object GetDoubleMinScaleDivision(int expectedValue, FastMultiChart chart)
        {
            var minDivision = Convert.ToDouble(
                chart.GetYValue((int)Math.Ceiling(chart.ScaleDivisionYMinPixel / chart.Graphs[0].ScaleY), chart));
            var maxDivision = Convert.ToDouble(
                chart.GetYValue((int)Math.Floor((chart.ScaleDivisionYMaxPixel == -1
                                                      ? chart.ClientSize.Height - chart.MarginYBottom - chart.MarginYTop -
                                                 chart.LabelMarginY - chart.ScrollBarHeight
                                                      : chart.ScaleDivisionYMaxPixel) / chart.Graphs[0].ScaleY), chart));
            var divisionRange = maxDivision - minDivision;

            if (divisionRange <= 0)
            {
                return((double)0);
            }
            var valuableDigitCount = (int)Math.Ceiling(Math.Log10(divisionRange));
            var divisionIncrement  = Math.Pow(10, valuableDigitCount);
            var calculatedDivision = divisionIncrement;

            while (true)
            {
                if (calculatedDivision >= minDivision && calculatedDivision <= maxDivision)
                {
                    return(calculatedDivision);
                }
                calculatedDivision += divisionIncrement;
                if (calculatedDivision > maxDivision)
                {
                    divisionIncrement /= 10.0;
                    calculatedDivision = divisionIncrement;
                }
            }
        }
Example #2
0
 private int GetYScaleValueDefault(object value, FastMultiChart chart)
 {
     try
     {
         return(Convert.ToInt32(value));
     }
     catch
     {
         return(0);
     }
 }
Example #3
0
 public static string GetDateTimeStringScaleValue(object value, FastMultiChart chart)
 {
     if (chart.ScaleDivisionX == 31)
     {
         return(((DateTime)value).ToString("MMMM yyyy", CultureInfo.CreateSpecificCulture("ru")));
     }
     if (chart.ScaleDivisionX == 366)
     {
         return(((DateTime)value).ToString("yyyy"));
     }
     return(((DateTime)value).ToString("dd.MM.yyyy"));
 }
Example #4
0
 public static object GetDateTimeDivisionValue(object value, FastMultiChart chart)
 {
     if (chart.ScaleDivisionX == 31)
     {
         var date = (DateTime)value;
         return(new DateTime(date.Year, date.Month, 1));
     }
     if (chart.ScaleDivisionX == 366)
     {
         var date = (DateTime)value;
         return(new DateTime(date.Year, 1, 1));
     }
     return(value);
 }
Example #5
0
 public Graph(FastMultiChart owner)
 {
     Owner                     = owner;
     GetXScaleValue            = owner.GetXScaleValue;
     GetYScaleValue            = owner.GetYScaleValue;
     Series.CollectionChanged += delegate
     {
         foreach (var series in Series)
         {
             series.Owner          = owner;
             series.GetXScaleValue = getXScaleValue;
             series.GetYScaleValue = getYScaleValue;
         }
     };
 }
Example #6
0
 public static object GetDateTimeMinScaleDivision(int expectedValue, FastMultiChart chart)
 {
     if (expectedValue > 7 && expectedValue < 28)
     {
         expectedValue = 7;
     }
     else if (expectedValue >= 28 && expectedValue < 365)
     {
         expectedValue = 31;
     }
     else if (expectedValue >= 365)
     {
         expectedValue = 366;
     }
     return((new DateTime()).AddDays(expectedValue));
 }
 private static void SetupChart(FastMultiChart.FastMultiChart chart)
 {
     chart.GetXScaleValue = FastMultiChartUtils.GetDateTimeScaleValue;
     chart.GetXValue = FastMultiChartUtils.GetDateTimeValue;
     chart.GetXDivisionValue = FastMultiChartUtils.GetDateTimeDivisionValue;
     chart.GetMinXScaleDivision = FastMultiChartUtils.GetDateTimeMinScaleDivision;
     chart.GetMinYScaleDivision = FastMultiChartUtils.GetDoubleMinScaleDivision;
     chart.GetXStringValue = FastMultiChartUtils.GetDateTimeStringValue;
     chart.GetXStringScaleValue = FastMultiChartUtils.GetDateTimeStringScaleValue;
     var blank = new TimeBalans();
     chart.Graphs[0].Series.Add(new Series(blank.Property(p => p.Time), blank.Property(p => p.Balans), new Pen(Color.Red, 2f))
     {
         XMemberTitle = Localizer.GetString("TitleDate"),
         YMemberTitle = Localizer.GetString("TitleBalance")
     });
     //chart.Graphs[0].Series.Add(new Series(blank.Property(p => p.Time), blank.Property(p => p.Balans), new Pen(Color.Green, 2f))
     //{
     //    XMemberTitle = Localizer.GetString("TitleDate"),
     //    YMemberTitle = "HWM"
     //});
 }
Example #8
0
 public static object GetDateTimeValue(int scaleValue, FastMultiChart chart)
 {
     return((new DateTime()).AddDays(scaleValue));
 }
Example #9
0
 private string GetYStringValueDefault(object value, FastMultiChart chart)
 {
     return(value.ToString());
 }
Example #10
0
 private object GetYMinScaleDivisionDefault(int expectedValue, FastMultiChart chart)
 {
     return(expectedValue);
 }
Example #11
0
 private object GetDivisionValueDefault(object value, FastMultiChart chart)
 {
     return(value);
 }
Example #12
0
 private object GetYValueDefault(int scaleValue, FastMultiChart chart)
 {
     return scaleValue;
 }
Example #13
0
 private int GetYScaleValueDefault(object value, FastMultiChart chart)
 {
     try
     {
         return Convert.ToInt32(value);
     }
     catch
     {
         return 0;
     }
 }
Example #14
0
 private object GetYValueSpec(int scaleValue, FastMultiChart.FastMultiChart chart)
 {
     return(scaleValue / 10.0);
 }
Example #15
0
 // spec part
 private int GetYScaleValueSpec(object value, FastMultiChart.FastMultiChart chart)
 {
     return((int)((double)value * 10));
 }
 private static void SetupChart(FastMultiChart.FastMultiChart chart, string extraSeriesName)
 {
     chart.GetXScaleValue = FastMultiChartUtils.GetDateTimeScaleValue;
     chart.GetXValue = FastMultiChartUtils.GetDateTimeValue;
     chart.GetXDivisionValue = FastMultiChartUtils.GetDateTimeDivisionValue;
     chart.GetMinXScaleDivision = FastMultiChartUtils.GetDateTimeMinScaleDivision;
     chart.GetMinYScaleDivision = FastMultiChartUtils.GetDoubleMinScaleDivision;
     chart.GetXStringValue = FastMultiChartUtils.GetDateTimeStringValue;
     chart.GetXStringScaleValue = FastMultiChartUtils.GetDateTimeStringScaleValue;
     var blank = new BalanceByDate(DateTime.Now, 0);
     chart.Graphs[0].Series.Add(new Series(blank.Property(p => p.X), blank.Property(p => p.Y),
                                           new Pen(Color.FromArgb(80, 5, 5), 2f)));
     if (!string.IsNullOrEmpty(extraSeriesName))
     {
         chart.Graphs[0].Series.Add(new Series(blank.Property(p => p.X), blank.Property(p => p.Y),
                                               new Pen(Color.FromArgb(5, 105, 5), 2f)));
     }
 }
 private static void SetupChart(FastMultiChart.FastMultiChart chart)
 {
     chart.Graphs[0].Series.Clear();
     chart.GetXScaleValue = FastMultiChartUtils.GetDateTimeScaleValue;
     chart.GetXValue = FastMultiChartUtils.GetDateTimeValue;
     chart.GetXDivisionValue = FastMultiChartUtils.GetDateTimeDivisionValue;
     chart.GetMinXScaleDivision = FastMultiChartUtils.GetDateTimeMinScaleDivision;
     chart.GetMinYScaleDivision = FastMultiChartUtils.GetDoubleMinScaleDivision;
     chart.GetXStringValue = FastMultiChartUtils.GetDateTimeStringValue;
     chart.GetXStringScaleValue = FastMultiChartUtils.GetDateTimeStringScaleValue;
     chart.ShowScaleDivisionXLabel = true;
     chart.ShowScaleDivisionYLabel = true;
     chart.ScrollBarHeight = 30;
     chart.ShowHints = true;
     var blank = new TimeBalans();
     chart.Graphs[0].Series.Add(new Series(blank.Property(p => p.Time), blank.Property(p => p.Balans), new Pen(Color.Red, 2f))
         {
             XMemberTitle = Localizer.GetString("TitleDate"),
             YMemberTitle = Localizer.GetString("TitleBalance")
         });
     chart.Graphs[0].Series.Add(new Series(blank.Property(p => p.Time), blank.Property(p => p.Balans), new Pen(Color.Green, 2f))
         {
             XMemberTitle = Localizer.GetString("TitleDate"),
             YMemberTitle = "HWM"
         });
 }
Example #18
0
 public Graph(FastMultiChart owner)
 {
     Owner = owner;
     GetXScaleValue = owner.GetXScaleValue;
     GetYScaleValue = owner.GetYScaleValue;
     Series.CollectionChanged += delegate
         {
             foreach (var series in Series)
             {
                 series.Owner = owner;
                 series.GetXScaleValue = getXScaleValue;
                 series.GetYScaleValue = getYScaleValue;
             }
         };
 }
Example #19
0
 public static string GetDateTimeStringValue(object value, FastMultiChart chart)
 {
     return(((DateTime)value).ToString("dd.MM.yyyy"));
 }
Example #20
0
 private object GetYMinScaleDivisionDefault(int expectedValue, FastMultiChart chart)
 {
     return expectedValue;
 }
Example #21
0
 public static int GetDateTimeScaleValue(object value, FastMultiChart chart)
 {
     return((int)((DateTime)value).Subtract(new DateTime()).TotalDays);
 }
Example #22
0
 private string GetYStringValueDefault(object value, FastMultiChart chart)
 {
     return value.ToString();
 }
Example #23
0
 private object GetYValueDefault(int scaleValue, FastMultiChart chart)
 {
     return(scaleValue);
 }
Example #24
0
 private object GetDivisionValueDefault(object value, FastMultiChart chart)
 {
     return value;
 }