protected override void BeginProcessing() { SeriesBase result = null; if (ParameterSetName == "New") { if (Random) { if (RandomGenerator == null && Seed != -1) { RandomGenerator = new XoshiroRandom(Seed); } var m = typeof(Series).GetMethod("CreateRandom"); var gm = m.MakeGenericMethod(DataType); result = gm.Invoke(null, new object [] { Count, RandomGenerator }) as SeriesBase; } else { result = new Series(DataType, Count, Value); } } else { result = new Series(Data); } WriteObject(result); }
protected virtual void ExcuteGrouper() { if (_groupIndices != null) { return; } _indices = new Dictionary <object, IDataIndex>(); var rowSize = _dataFrame.Index.Size; //TODO:未完成列轴 if (_grouper.Axis == 0) { _keySeries = _dataFrame[_grouper.Key]; } _groupIndices = new Dictionary <object, List <int> >(); for (var i = 0; i < rowSize; i++) { var currentKey = _keySeries[i]; if (_groupIndices.ContainsKey(currentKey)) { _groupIndices[currentKey].Add(i); } else { var list = new List <int> { i }; _groupIndices.Add(currentKey, list); } } }
private void Form1_Load(object sender, EventArgs e) { pLinqServerModeSource.Source = SalesProductDataGenerator.GetData(); #region #ControlRowSource // Assign a new instance of ControlRowSource to the chart's DataSource property. chartControl.DataSource = new ControlRowSource() { Control = mainView, ControlRows = ControlRows.Selected }; // Specify chart properties that configures series to display. chartControl.SeriesDataMember = "State"; SeriesBase seriesTemplate = chartControl.SeriesTemplate; seriesTemplate.ArgumentDataMember = "Category"; seriesTemplate.ValueDataMembers.AddRange("Revenue"); // Configure additional chart properties. seriesTemplate.CrosshairLabelPattern = "{S}: {V:C2}"; seriesTemplate.SeriesPointsSorting = SortingMode.Descending; seriesTemplate.SeriesPointsSortingKey = SeriesPointKey.Value_1; seriesTemplate.SummaryFunction = "SUM([Revenue])"; XYDiagram diagram = (XYDiagram)chartControl.Diagram; diagram.AxisY.Label.TextPattern = "{V:C0}"; chartControl.Legend.AlignmentHorizontal = LegendAlignmentHorizontal.Right; chartControl.Legend.AlignmentVertical = LegendAlignmentVertical.Top; #endregion #ControlRowSource }
protected override void DrawPath(SeriesBase series, Brush brush, double strokeThickness) { if (series is LineSeries || series is HiLoSeries) { PartsCollection partsCollection = new PartsCollection(); if (series is LineSeries) { LineSeries lineSeries = series as LineSeries; partsCollection = lineSeries.Parts; } else if (series is HiLoSeries) { HiLoSeries lineSeries = series as HiLoSeries; partsCollection = lineSeries.Parts; } if (RenderingMode == RenderingMode.Default) { for (int i = 0; i < partsCollection.Count; i++) { UIElement element = partsCollection[i].CreatePart(); if (element != null) { PartsCanvas.Children.Add(element); } } } } }
/// <summary>Creates service definition that can be registered with a server</summary> /// <param name="serviceImpl">An object implementing the server-side handling logic.</param> public static grpc::ServerServiceDefinition BindService(SeriesBase serviceImpl) { return(grpc::ServerServiceDefinition.CreateBuilder() .AddMethod(__Method_GetLastDownloaded, serviceImpl.GetLastDownloaded) .AddMethod(__Method_GetAll, serviceImpl.GetAll) .AddMethod(__Method_GetById, serviceImpl.GetById).Build()); }
private static string GetEpisodeXml(SeriesBase series, Episode episode, IEnumerable <string> bannerImages) { var metadata = new EpisodeMetadata(); var m = new Movie { Title = episode.EpisodeName, Season = episode.SeasonNumber.Value, Episode = episode.EpisodeNumber.Value, Year = episode.FirstAired.Year, Rating = episode.Rating, Plot = series.Overview, EpisodePlot = episode.Overview, MPAA = series.ContentRating, Runtime = series.Runtime.Value, genres = SeriesIOHelper.ToArray(series.Genre), Director = episode.Director, Credits = episode.Writer }; var cast = series.Actors.Length > 0 ? series.Actors : episode.GuestStars; m.cast = SeriesIOHelper.ToArray(cast); m.image = bannerImages.ToArray(); metadata.Movie = m; return(metadata.AsXml()); }
/// <summary> /// Lable格式化设置 /// <para>【{A} Use it to display a series point arguments 】</para> /// <para>【{V} Use it to display a series point values】</para> /// <para>【{S} Use it to display the name of the series】</para> /// </summary> /// <param name="series">SeriesBase</param> /// <param name="formatString">Lable格式化设置;【{A}{V}{S}】</param> public static void CustomLable(this SeriesBase series, string formatString) { if (series.LabelsVisibility != DefaultBoolean.True) { series.LabelsVisibility = DefaultBoolean.True; } series.Label.PointOptions.Pattern = formatString; }
/// <summary> /// 十字标线的Lable格式化设置 /// 【{A} Use it to display a series point arguments 】 /// 【{V} Use it to display a series point values】 /// 【{S} Use it to display the name of the series】 /// </summary> /// <param name="series">SeriesBase</param> /// <param name="formatString">CrosshairLabel格式化设置;【{A}{V}{S}】</param> public static void CustomCrosshairLabel(this SeriesBase series, string formatString) { if (series.CrosshairEnabled != DefaultBoolean.True) { series.CrosshairEnabled = DefaultBoolean.True; } series.CrosshairLabelPattern = formatString; }
private void Form1_Load(object sender, EventArgs e) { this.gSPTableAdapter.Fill(this.gspDataSet.GSP); SeriesBase seriesTemplate = chart.SeriesTemplate; seriesTemplate.SeriesPointsSorting = SortingMode.Ascending; seriesTemplate.SeriesPointsSortingKey = SeriesPointKey.Value_1; }
private void ConfigureSeries(SeriesBase series) { series.ArgumentDataMember = "Year"; series.ValueDataMembers.AddRange(new string[] { "Sales" }); series.ArgumentScaleType = ScaleType.Qualitative; series.ValueScaleType = ScaleType.Numerical; series.LabelsVisibility = DefaultBoolean.True; series.Label.TextPattern = "{A}: {V:F2}"; }
/// <summary> /// 设置ColorEach /// </summary> /// <param name="series">SeriesBase</param> /// <param name="colorEach">是否设置成ColorEach</param> public static void SetColorEach(this SeriesBase series, bool colorEach) { SeriesViewColorEachSupportBase colorEachView = (SeriesViewColorEachSupportBase)series.View; if (colorEachView != null) { colorEachView.ColorEach = colorEach; } }
private void InitChartSeries(SeriesBase chartSeries) { if (chartSeries == null) { return; } ChartSeries.LegendTextPattern = "{A}"; ChartSeries.ArgumentDataMember = "CategoryName"; ChartSeries.ValueDataMembers.AddRange("Quantity"); }
/// <summary> /// Constructor /// </summary> /// <param name="series">Base series</param> public SeriesGraph(SeriesBase series) { this.series = series; points.Clear(); for (int i = 0; i < series.Count; i++) { IPoint p = new PointBase(series[i, 0], series[i, 1]); points.Add(p); } }
override protected void DrawPath(SeriesBase series, System.Drawing.Pen pen) { if (series is ColumnSeries) { var points = new PointCollection(); var pointCount = 0; var rects = new List <Rect>(); ColumnSeries columnSeries = series as ColumnSeries; points = columnSeries.ColumnPoints; pointCount = columnSeries.ColumnPoints.Count; rects = columnSeries.Rects; System.Drawing.Brush fill = columnSeries.Fill.AsDrawingBrush(); System.Drawing.Pen fillPen = new System.Drawing.Pen(fill); if (RenderingMode == RenderingMode.Default) { for (int i = 0; i < columnSeries.Parts.Count; i++) { System.Windows.Shapes.Rectangle element = (columnSeries.Parts[i] as ColumnPart).CreatePart() as System.Windows.Shapes.Rectangle; if (element != null && !PartsCanvas.Children.Contains(element)) { PartsCanvas.Children.Add(element); } } } else { for (int i = 0; i < rects.Count; i++) { Rect rect = rects[i]; switch (RenderingMode) { case RenderingMode.GDIRendering: GDIGraphics.DrawRectangle(pen, (float)rect.X, (float)rect.Y, (float)rect.Width, (float)rect.Height); GDIGraphics.FillRectangle(fill, (float)rect.X, (float)rect.Y, (float)rect.Width, (float)rect.Height); break; case RenderingMode.Default: break; case RenderingMode.WritableBitmap: this.WritableBitmap.Lock(); WritableBitmapGraphics.DrawRectangle(pen, (float)rect.X, (float)rect.Y, (float)rect.Width, (float)rect.Height); WritableBitmapGraphics.FillRectangle(fill, (float)rect.X, (float)rect.Y, (float)rect.Width, (float)rect.Height); this.WritableBitmap.Unlock(); break; default: break; } } this.Collection.InvalidateBitmap(); } } }
protected override void DrawPath(SeriesBase series, Brush brush, double strokeThickness) { if (series is SplineSeries) { SplineSeries splineSeries = series as SplineSeries; PartsCanvas.Children.Clear(); for (int i = 0; i < splineSeries.Parts.Count; i++) { PartsCanvas.Children.Add(splineSeries.Parts[i].CreatePart()); } } }
protected override void DrawPath(SeriesBase series, Brush brush, double strokeThickness) { if (series is StepLineSeries) { StepLineSeries stepLineSeries = series as StepLineSeries; PartsCanvas.Children.Clear(); foreach (SeriesPartBase t in stepLineSeries.Parts) { PartsCanvas.Children.Add(t.CreatePart()); } } }
/// <summary> /// Draws the path. /// </summary> /// <param name="series">The series.</param> /// <param name="brush">The brush.</param> /// <param name="strokeThickness">The stroke thickness.</param> protected override void DrawPath(SeriesBase series, Brush brush, double strokeThickness) { if (series is AreaSeries) { AreaSeries areaSeries = series as AreaSeries; PartsCanvas.Children.Clear(); foreach (SeriesPartBase part in areaSeries.Parts) { PartsCanvas.Children.Add(part.CreatePart()); } } }
/// <summary> /// 设置饼状图的Lable位置 /// </summary> /// <param name="series">SeriesBase</param> /// <param name="lablePosition">PieSeriesLabelPosition枚举</param> public static void SetLablePosition(this SeriesBase series, PieSeriesLabelPosition lablePosition) { if (series.Label is PieSeriesLabel) { PieSeriesLabel _label = series.Label as PieSeriesLabel; _label.Position = lablePosition; } //if (series.Label is Pie3DSeriesLabel) //{ // Pie3DSeriesLabel _label = series.Label as Pie3DSeriesLabel; // _label.Position = lablePosition; //} }
public void TestSerialization() { var s = new Series(new float[] { 1, 2, 3 }); using (var stream = new MemoryStream()) { s.Save(stream); stream.Position = 0; var s2 = SeriesBase.Load(stream); Assert.Equal(new float[] { 1, 2, 3 }, s2.ToArray <float>()); } }
protected override void DrawPath(SeriesBase series, System.Drawing.Pen pen) { if (series is AreaSeries) { AreaSeries areaSeries = series as AreaSeries; var brush = (this.Series as AreaSeries).Fill.AsDrawingBrush(); var points = areaSeries.AreaPoints; var pointCount = areaSeries.AreaPoints.Count; if (RenderingMode == EcoProIT.Chart.Utility.RenderingMode.Default) { PartsCanvas.Children.Clear(); for (int i = 0; i < areaSeries.Parts.Count; i++) { var element = areaSeries.Parts[i].CreatePart(); if (element != null && !PartsCanvas.Children.Contains(element)) { PartsCanvas.Children.Add(element); } } } else { for (int i = 0; i < pointCount - 1; i++) { switch (RenderingMode) { case Utility.RenderingMode.GDIRendering: GDIGraphics.DrawLine(pen, points[i].AsDrawingPointF(), points[i + 1].AsDrawingPointF()); break; case Utility.RenderingMode.Default: break; case Utility.RenderingMode.WritableBitmap: this.WritableBitmap.Lock(); WritableBitmapGraphics.DrawLine(pen, points[i].AsDrawingPointF(), points[i + 1].AsDrawingPointF()); this.WritableBitmap.AddDirtyRect(new Int32Rect(0, 0, WritableBitmap.PixelWidth, WritableBitmap.PixelHeight)); this.WritableBitmap.Unlock(); break; default: break; } } DrawFilledPath(areaSeries, pen, brush); } this.Collection.InvalidateBitmap(); } }
/// <summary> /// 饼状Series设置成百分比显示 /// </summary> /// <param name="series">SeriesBase</param> /// <param name="valueLegendType">Series对应Lengend显示类型</param> /// <param name="lengendPointView">Series对应Lengend PointView类型</param> public static void SetPiePercentage(this SeriesBase series, NumericFormat valueLegendType, PointView lengendPointView) { if (series.View is PieSeriesView || series.View is Pie3DSeriesView) { PiePointOptions _piePointOptions = (PiePointOptions)series.Label.PointOptions; if (_piePointOptions != null) { _piePointOptions.PercentOptions.ValueAsPercent = true; _piePointOptions.ValueNumericOptions.Format = NumericFormat.Percent; _piePointOptions.ValueNumericOptions.Precision = 0; series.LegendPointOptions.ValueNumericOptions.Format = valueLegendType; series.LegendPointOptions.PointView = lengendPointView; } } }
/// <summary> /// Draws the path. /// </summary> /// <param name="series">The series.</param> /// <param name="brush">The brush.</param> /// <param name="strokeThickness">The stroke thickness.</param> protected override void DrawPath(SeriesBase series, Brush brush, double strokeThickness) { if (series is HiLoOpenCloseSeries) { PartsCollection partsCollection = new PartsCollection(); partsCollection = (series as HiLoOpenCloseSeries).Parts; if (RenderingMode == RenderingMode.Default) { for (int i = 0; i < partsCollection.Count; i++) { PartsCanvas.Children.Add(partsCollection[i].CreatePart()); } } } }
/// <summary> /// 饼状图突出设置 /// </summary> /// <param name="chart">ChartControl</param> /// <param name="pieSeries">Series【仅仅适用于PieSeriesView】</param> /// <param name="explodeMode">突出模式【枚举】</param> /// <param name="explodedValue">突出间距</param> /// <param name="dragPie">是否可以拖动突出饼状</param> public static void SetPieExplode(this ChartControl chart, SeriesBase pieSeries, PieExplodeMode explodeMode, int explodedValue, bool dragPie) { if (pieSeries.View is PieSeriesView) { if (!chart.RuntimeHitTesting) { chart.RuntimeHitTesting = true; } PieSeriesView _pieView = pieSeries.View as PieSeriesView; _pieView.ExplodeMode = explodeMode; _pieView.ExplodedDistancePercentage = explodedValue; _pieView.RuntimeExploding = dragPie; } }
protected override void DrawPath(SeriesBase series, System.Drawing.Pen pen) { if (series is SplineSeries) { SplineSeries splineSeries = series as SplineSeries; var points = splineSeries.SplinePoints; var pointCount = splineSeries.SplinePoints.Count; if (RenderingMode == Utility.RenderingMode.Default) { PartsCanvas.Children.Clear(); for (int i = 0; i < splineSeries.Parts.Count; i++) { var element = splineSeries.Parts[i].CreatePart(); if (element != null && !PartsCanvas.Children.Contains(element)) { PartsCanvas.Children.Add(element); } } } else { for (int i = 0; i < pointCount - 1; i++) { switch (RenderingMode) { case Utility.RenderingMode.GDIRendering: GDIGraphics.DrawBezier(pen, points[i].AsDrawingPointF(), splineSeries.FirstControlPoints[i].AsDrawingPointF(), splineSeries.SecondControlPoints[i].AsDrawingPointF(), points[i + 1].AsDrawingPointF()); break; case Utility.RenderingMode.Default: break; case Utility.RenderingMode.WritableBitmap: this.WritableBitmap.Lock(); WritableBitmapGraphics.DrawBezier(pen, points[i].AsDrawingPointF(), splineSeries.FirstControlPoints[i].AsDrawingPointF(), splineSeries.SecondControlPoints[i].AsDrawingPointF(), points[i + 1].AsDrawingPointF()); this.WritableBitmap.AddDirtyRect(new Int32Rect(0, 0, WritableBitmap.PixelWidth, WritableBitmap.PixelHeight)); this.WritableBitmap.Unlock(); break; default: break; } } this.Collection.InvalidateBitmap(); } } }
public override void Fit(SeriesBase data) { _encoding = new Dictionary <object, T>(); _categories = new List <object>(); var count = 0; foreach (var value in data.UnderlyingList) { if (!_encoding.ContainsKey(value)) { _encoding.Add(value, SmartConverter.ConvertTo <T>(count)); _categories.Add(value); ++count; } } }
override protected void DrawPath(SeriesBase series, System.Drawing.Pen pen) { if (series is StepLineSeries) { StepLineSeries stepLineSeries = series as StepLineSeries; var points = stepLineSeries.LinePoints; var pointCount = stepLineSeries.LinePoints.Count; if (RenderingMode == Utility.RenderingMode.Default) { PartsCanvas.Children.Clear(); for (int i = 0; i < stepLineSeries.Parts.Count; i++) { var element = stepLineSeries.Parts[i].CreatePart(); if (element != null && !PartsCanvas.Children.Contains(element)) { PartsCanvas.Children.Add(element); } } } else { for (int i = 0; i < pointCount - 1; i++) { switch (RenderingMode) { case Utility.RenderingMode.GDIRendering: GDIGraphics.DrawLine(pen, points[i].AsDrawingPointF(), points[i + 1].AsDrawingPointF()); break; case Utility.RenderingMode.Default: break; case Utility.RenderingMode.WritableBitmap: WritableBitmapGraphics.DrawLine(pen, points[i].AsDrawingPointF(), points[i + 1].AsDrawingPointF()); break; default: break; } } this.Collection.InvalidateBitmap(); } } }
public SeriesMetadata(SeriesBase series) { var s = new Series { Title = series.SeriesName, genres = SeriesIOHelper.ToArray(series.Genre), Premiered = series.FirstAired?.ToString(Constants.DATE_FMT), Year = series.FirstAired.HasValue ? series.FirstAired.Value.Year : DateTime.Today.Year, Rating = double.Parse(series.RatingString ?? "0") * 10, Status = series.Status, MPAA = series.MPAA, TvdbId = series.Id.ToString(), Runtime = series.Runtime.Value, Plot = series.Overview, cast = SeriesIOHelper.ToArray(series.Actors) }; Series = s; }
/// <summary> /// Draws the path. /// </summary> /// <param name="series">The series.</param> /// <param name="brush">The brush.</param> /// <param name="strokeThickness">The stroke thickness.</param> protected override void DrawPath(SeriesBase series, Brush brush, double strokeThickness) { if (series is ColumnSeries) { ColumnSeries columnSeries = series as ColumnSeries; if (RenderingMode == RenderingMode.Default) { for (int i = 0; i < columnSeries.Parts.Count; i++) { var columnPart = columnSeries.Parts[i] as ColumnPart; if (columnPart != null) { Rectangle element = columnPart.CreatePart() as Rectangle; PartsCanvas.Children.Add(element); } } } } }
public override SeriesBase Transform(SeriesBase data) { var result = new Series(typeof(T), data.Count, _fallbackValue); for (var i = 0; i < result.Count; ++i) { if (_encoding.TryGetValue(data[i], out var value)) { result[i] = value; } else { if (!_useFallback) { throw new ArgumentException($"Unknown value: {data[i]}"); } } } return(result); }
private void DrawFilledPath(SeriesBase series, System.Drawing.Pen pen, System.Drawing.Brush brush) { var path = new System.Drawing.Drawing2D.GraphicsPath(); if (series is AreaSeries) { path.StartFigure(); AreaSeries areaSeries = series as AreaSeries; var points = areaSeries.AreaPoints; var pointCount = areaSeries.AreaPoints.Count; for (int i = 0; i < pointCount - 1; i++) { System.Drawing.PointF startPoint = points[i].AsDrawingPointF(); System.Drawing.PointF endPoint = points[i + 1].AsDrawingPointF(); path.AddLine(startPoint, endPoint); } path.CloseAllFigures(); switch (RenderingMode) { case EcoProIT.Chart.Utility.RenderingMode.GDIRendering: GDIGraphics.FillPath(brush, path); break; case Utility.RenderingMode.Default: break; case Utility.RenderingMode.WritableBitmap: WritableBitmapGraphics.FillPath(brush, path); break; default: break; } } }
private void buildSeries(object CurrentValue) { DataTable dtSeriesList = CurrentValue as DataTable; SeriesBase[] seri = new SeriesBase[dtSeriesList.Rows.Count]; for (int i = 0; i < dtSeriesList.Rows.Count; i++) { string propName = dtSeriesList.Rows[i]["name"].ToString(); string propType = dtSeriesList.Rows[i]["type"].ToString(); string propValue = dtSeriesList.Rows[i]["val"].ToString(); seri[i] = createSerie(propType); if (seri[i] != null) { seri[i].DataFieldY = propValue; //seri[i].TooltipsAppearance.DataFormatString = propName; if (seri[i].Type == Telerik.Web.UI.HtmlChart.SeriesType.Pie) { (seri[i] as PieSeries).NameField = propName; } else { seri[i].Name = propName; seri[i].TooltipsAppearance.ClientTemplate = propName; } } //chart.PlotArea.Series.Add(seri[i]); } chart.PlotArea.Series.AddRange(seri); this.Controls.Add(chart); // } //xu ly add series vao chart // SeriesBase seri = new LineSeries(); // SeriesBase seri1 = new PieSeries(); //SeriesBase seri2 = new ColumnSeries(); // if (seri1 != null) // { // seri.DataFieldY = "DoanhThu"; // seri1.DataFieldY = "value"; // seri1.Name="name"; // seri2.DataFieldY = "ThuKH"; // chart.PlotArea.Series.Add(seri); // chart.PlotArea.Series.Add(seri1); // chart.PlotArea.Series.Add(seri2); // this.Controls.Add(chart); // } }