public GraphRenderBase(ConfigurationPlot config, GraphAxis gx, GraphAxis gy, GraphPlotStyle style) { m_config = config; m_gx = gx; m_gy = gy; m_style = style; }
public void CorrectData(string xAxisName, string yAxisName, string toString) { GraphAxis testObject = new GraphAxis(xAxisName, yAxisName); Assert.Equal(xAxisName, testObject.XAxisName); Assert.Equal(yAxisName, testObject.YAxisName); Assert.Equal(toString, testObject.ToString()); }
public GraphRenderBB(ConfigurationPlot config, GraphAxis gx, GraphAxis gy, GraphPlotStyle style) : base(config, gx, gy, style) { m_rgpt[0] = new PointF(); m_rgpt[1] = new PointF(); m_rgpt[2] = new PointF(); m_rgpt[3] = new PointF(); m_rgpt[4] = new PointF(); }
protected override void SolveInstance(IGH_DataAccess DA) { string xAxisName = ""; string yAxisName = ""; DA.GetData(0, ref xAxisName); DA.GetData(1, ref yAxisName); GraphAxis graphAxis = new GraphAxis(xAxisName, yAxisName); DA.SetData(0, graphAxis); }
public GraphRenderLineFill(ConfigurationPlot config, GraphAxis gx, GraphAxis gy, GraphPlotStyle style) : base(config, gx, gy, style) { m_rgpts5[0] = new PointF(); m_rgpts5[1] = new PointF(); m_rgpts5[2] = new PointF(); m_rgpts5[3] = new PointF(); m_rgpts5[4] = new PointF(); m_rgpts4[0] = new PointF(); m_rgpts4[1] = new PointF(); m_rgpts4[2] = new PointF(); m_rgpts4[3] = new PointF(); }
protected override void SolveInstance(IGH_DataAccess DA) { string graphTitle = string.Empty; GraphSizes graphSizes = null; Color graphColor = Color.Empty; GraphAxis graphAxis = null; DA.GetData(0, ref graphTitle); DA.GetData(1, ref graphSizes); DA.GetData(2, ref graphColor); DA.GetData(3, ref graphAxis); GraphSettings graphSettings = new GraphSettings(graphTitle, graphSizes, graphColor, graphAxis); DA.SetData(0, graphSettings); }
private Path InitializeGrid(GraphAxis axis, DashData dashData, double actualHeight, double actualWidth) { GeometryGroup lineGroup = new GeometryGroup(); if (axis == GraphAxis.X) { //x positive for (double x = dashData.AxisWidthHeight / 2; x < dashData.AxisWidthHeight - dashData.Step * 2; x += dashData.Step * 2) { lineGroup.Children.Add(AddLine(x, dashData.Step, x, actualHeight - dashData.Step)); } //x negative for (double x = dashData.AxisWidthHeight / 2; x > dashData.Step; x -= dashData.Step * 2) { lineGroup.Children.Add(AddLine(x, dashData.Step, x, actualHeight - dashData.Step)); } } else { //y negative for (double y = dashData.AxisWidthHeight / 2; y < dashData.AxisWidthHeight - dashData.Step; y += dashData.Step * 2) { lineGroup.Children.Add(AddLine(dashData.Step, y, actualWidth - dashData.Step, y)); } //y positive for (double y = dashData.AxisWidthHeight / 2; y > dashData.Step; y -= dashData.Step * 2) { lineGroup.Children.Add(AddLine(dashData.Step, y, actualWidth - dashData.Step, y)); } } Path path = new Path { Data = lineGroup, StrokeThickness = 1, StrokeDashArray = new DoubleCollection() { 5, 3 }, Stroke = Brushes.LightGray, Fill = Brushes.LightGray }; return(path); }
public GraphRenderHighLow(ConfigurationPlot config, GraphAxis gx, GraphAxis gy, GraphPlotStyle style) : base(config, gx, gy, style) { if (config.ExtraSettings != null && config.ExtraSettings.ContainsKey("DrawLines")) { if (config.ExtraSettings["DrawLines"] != 0) { m_bDrawLines = true; } } m_rgpt[0] = new PointF(); m_rgpt[1] = new PointF(); m_rgpt[2] = new PointF(); m_rgpt[3] = new PointF(); m_rgpt[4] = new PointF(); }
public GraphRenderZones(ConfigurationPlot config, GraphAxis gx, GraphAxis gy, GraphPlotStyle style) : base(config, gx, gy, style) { if (config.ExtraSettings.ContainsKey("Resolution")) { m_nResolution = (int)config.ExtraSettings["Resolution"]; } if (config.ExtraSettings.ContainsKey("EnableVolumeScale")) { m_bEnableVolumeScale = (config.ExtraSettings["EnableVolumeScale"] != 0) ? true : false; } if (config.ExtraSettings.ContainsKey("Width")) { m_nWidth = (int)config.ExtraSettings["Width"]; } }
public GraphAxesController(NodeGraphView nodeGraphView, CustomContentDragger contentDragger, SecondarySelectionDragger secondarySelectionDragger) { this.name = "graph-axes-controller"; m_nodeGraphView = nodeGraphView; m_customContentDragger = contentDragger; m_secondarySelectionDragger = secondarySelectionDragger; m_xAxis = new GraphAxis(); m_yAxis = new GraphAxis(); VisualElement graphViewContent = m_nodeGraphView.Q <VisualElement>("contentViewContainer"); Add(m_xAxis); Add(m_yAxis); RefreshPositions(); m_nodeGraphView.RegisterCallback <GeometryChangedEvent>(RefreshSizes); m_nodeGraphView.viewTransformChanged += RefreshPositions; m_customContentDragger.PositionChanged += RefreshPositions; m_secondarySelectionDragger.OnDragging += RefreshPositions; // TODO: This is a hack to get the axes to update when moving nodes around. But it still doesn't work perfectly. }
public static uint CalculateScale(GraphAxis axis, double value, double xmax, double ymax) { uint scale = 1; var axisMax = axis == GraphAxis.X ? xmax : ymax; var percentageVal = axisMax / 100; double percentageValue; if (value < 0 && -1 * axisMax > value) { percentageValue = (-1 * value) / percentageVal; scale = Convert.ToUInt32((percentageValue) / 100) + 1; return(scale); } if (!(axisMax < value)) { return(scale); } percentageValue = value / percentageVal; scale = Convert.ToUInt32((percentageValue) / 100) + 1; return(scale); }
// Use this for initialization void Start() { buildrate = 1f / 10000f; GA = GraphAxis.me; GA.city = gameObject; pps = new ProjectParticleSet(); string url = "http://127.0.0.1:8000/api/project/?format=json&limit=2000"; //&order_by=date_end"; if (MasterSettings.me.offline) { //KSJSON.me.getOffline(gameObject, "ProcessResponse", "15k"); //KSJSON.me.getOffline(gameObject, "ProcessResponse", "15k"); if (GraphAxis.me.UItype == UIType.Rockband) { projFileLoaded = new bool[projFiles.Length]; for (int i = 0; i < projFileLoaded.Length; i++) { projFileLoaded[i] = false; } } else { KSCSV.me.loadCSV(gameObject, projFiles[0]); KSCSV.me.loadCSV(gameObject, projFiles[2]); KSCSV.me.loadCSV(gameObject, projFiles[1]); } } else { KSJSON.me.getURL(gameObject, "ProcessResponse", url); } }
private void AddDashesToLine(GeometryGroup geometryGroup, GraphAxis axis, DashData dashData, double dpi) { if (axis == GraphAxis.X) { int counter = 0; //x positive for (double x = dashData.AxisWidthHeight / 2; x < dashData.AxisWidthHeight - dashData.Step * 2; x += dashData.Step) { ++counter; if (counter % 2 > 0) { if (counter != 1) { var number = (counter - 1) * Scale; AddTextGeometry(geometryGroup, number.ToString(), new Point(x - 2, dashData.DashSecondCoordLongStart + 10), dpi); } geometryGroup.Children.Add(AddLine(x, dashData.DashSecondCoordLongStart, x, dashData.DashSecondCoordLongEnd)); } else { geometryGroup.Children.Add(AddLine(x, dashData.DashSecondCoordStart, x, dashData.DashSecondCoordEnd)); } } _xMaxCartesian = counter; counter = 0; for (double x = dashData.AxisWidthHeight / 2; x > dashData.Step; x -= dashData.Step) { ++counter; if (counter % 2 > 0) { if (counter != 1) { var number = -1 * (counter - 1) * Scale; AddTextGeometry(geometryGroup, number.ToString(), new Point(x - 7, dashData.DashSecondCoordLongStart + 10), dpi); } geometryGroup.Children.Add(AddLine(x, dashData.DashSecondCoordLongStart, x, dashData.DashSecondCoordLongEnd)); } else { geometryGroup.Children.Add(AddLine(x, dashData.DashSecondCoordStart, x, dashData.DashSecondCoordEnd)); } } } else { int counter = 0; for (double y = dashData.AxisWidthHeight / 2; y < dashData.AxisWidthHeight - dashData.Step; y += dashData.Step) { ++counter; if (counter % 2 > 0) { if (counter != 1) { var number = -1 * (counter - 1) * Scale; AddTextGeometry(geometryGroup, number.ToString(), new Point(dashData.DashSecondCoordLongStart + 14, y - 7), dpi); } geometryGroup.Children.Add(AddLine(dashData.DashSecondCoordLongStart, y, dashData.DashSecondCoordLongEnd, y)); } else { geometryGroup.Children.Add(AddLine(dashData.DashSecondCoordStart, y, dashData.DashSecondCoordEnd, y)); } } counter = 0; //y positive for (double y = dashData.AxisWidthHeight / 2; y > dashData.Step; y -= dashData.Step) { ++counter; if (counter % 2 > 0) { if (counter != 1) { var number = (counter - 1) * Scale; AddTextGeometry(geometryGroup, number.ToString(), new Point(dashData.DashSecondCoordLongStart + 14, y - 7), dpi); } geometryGroup.Children.Add(AddLine(dashData.DashSecondCoordLongStart, y, dashData.DashSecondCoordLongEnd, y)); } else { geometryGroup.Children.Add(AddLine(dashData.DashSecondCoordStart, y, dashData.DashSecondCoordEnd, y)); } } _yMaxCartesian = counter; } }
private void OnEnable() { _graphAxis = target as GraphAxis; }
//private List<ColumnSizeLocation> GetColumnsSizeLocation() //{ // List<ColumnSizeLocation> result = new List<ColumnSizeLocation>(); // int widthUnits = 0; // var columns = ChartReportReportDTO.EntityListView.EntityListViewAllColumns.Where(x => x.RelationshipTailID == 0); // foreach (var column in columns) // { // widthUnits += (column.WidthUnit == 0 ? 1 : column.WidthUnit); // } // var width = reportWidth; // var perUnitWidth = width.Divide(widthUnits); // var consumedWidthUnits = 0; // if (ReportGroups != null) // foreach (var reportGroup in ReportGroups) // { // ColumnSizeLocation columnSizeLocation = new ColumnSizeLocation(); // columnSizeLocation.LictViewColumnID = reportGroup.ListViewColumnID; // SetColumnSizePosition(columnSizeLocation, reportGroup.EntityListViewColumn.WidthUnit, ref consumedWidthUnits, perUnitWidth); // result.Add(columnSizeLocation); // } // foreach (var column in columns) // { // if (!result.Any(x => x.LictViewColumnID == column.ID)) // { // ColumnSizeLocation columnSizeLocation = new ColumnSizeLocation(); // columnSizeLocation.LictViewColumnID = column.ID; // SetColumnSizePosition(columnSizeLocation, column.WidthUnit, ref consumedWidthUnits, perUnitWidth); // result.Add(columnSizeLocation); // } // } // return result; //} //private void SetColumnSizePosition(ColumnSizeLocation columnSizeLocation, int currentWidthUnits, ref int consumedWidthUnits, Unit perUnitWidth) //{ // if (currentWidthUnits == 0) // currentWidthUnits = 1; // var width = currentWidthUnits * perUnitWidth; // columnSizeLocation.Width = width; // var xlocation = (reportWidth - width) - consumedWidthUnits * perUnitWidth; // columnSizeLocation.XLocation = xlocation; // consumedWidthUnits += currentWidthUnits; //} private Tuple <Report, Graph> SetReportDetails(Report report) { var detail = new Telerik.Reporting.DetailSection(); detail.Height = Telerik.Reporting.Drawing.Unit.Cm(0.5); detail.Name = "detail"; ReportStyles.SetReportDetailStyle(detail.Style); report.Items.Add(detail); var graph = new Graph(); graph.Width = reportWidth; graph.Height = report.PageSettings.PaperSize.Height / 2; //reportWidth = report.Width; detail.Items.Add(graph); graph.Legend.Width = Unit.Cm(3); graph.Legend.Style.LineColor = System.Drawing.Color.LightGray; graph.Legend.Style.LineWidth = Telerik.Reporting.Drawing.Unit.Inch(0D); graph.PlotAreaStyle.LineColor = System.Drawing.Color.LightGray; graph.PlotAreaStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Inch(0D); //graph.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(6D), Telerik.Reporting.Drawing.Unit.Inch(3D)); GraphAxis categoryAxis = new GraphAxis(); categoryAxis.MajorGridLineStyle.LineColor = System.Drawing.Color.LightGray; categoryAxis.MajorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D); categoryAxis.MinorGridLineStyle.LineColor = System.Drawing.Color.LightGray; categoryAxis.MinorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D); categoryAxis.MinorGridLineStyle.Visible = false; categoryAxis.Scale = new CategoryScale(); GraphAxis valueAxis = new GraphAxis(); valueAxis.MajorGridLineStyle.LineColor = System.Drawing.Color.LightGray; valueAxis.MajorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D); valueAxis.MinorGridLineStyle.LineColor = System.Drawing.Color.LightGray; valueAxis.MinorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D); valueAxis.MinorGridLineStyle.Visible = false; valueAxis.Scale = new NumericalScale(); var cartesianCoordinateSystem1 = new CartesianCoordinateSystem(); cartesianCoordinateSystem1.Name = "cartesianCoordinateSystem1"; cartesianCoordinateSystem1.XAxis = categoryAxis; cartesianCoordinateSystem1.YAxis = valueAxis; graph.CoordinateSystems.Add(cartesianCoordinateSystem1); var categoryColumn = ChartReportReportDTO.EntityChartReportCategories.First(); var categoryGroup = new GraphGroup(); categoryGroup.Name = categoryColumn.EntityListViewColumn.RelativeColumnName; categoryGroup.Groupings.Add(new Grouping(string.Format("= Fields.{0}", categoryColumn.EntityListViewColumn.RelativeColumnName))); categoryGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", categoryColumn.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc)); graph.CategoryGroups.Add(categoryGroup); foreach (var column in ChartReportReportDTO.EntityChartReportSeries) { foreach (var valuecolumn in ChartReportReportDTO.EntityChartReportValues) { var barSeries = new Telerik.Reporting.BarSeries(); //if (column.EntityListViewColumnID == categoryColumn.EntityListViewColumnID) // barSeries.ArrangeMode = GraphSeriesArrangeMode.Overlapped; //else //{ if (column.ArrangeType == ChartSerieArrangeType.Clustered) { barSeries.ArrangeMode = GraphSeriesArrangeMode.Clustered; } else if (column.ArrangeType == ChartSerieArrangeType.Overlapped) { barSeries.ArrangeMode = GraphSeriesArrangeMode.Overlapped; } else if (column.ArrangeType == ChartSerieArrangeType.Stacked) { barSeries.ArrangeMode = GraphSeriesArrangeMode.Stacked; } else if (column.ArrangeType == ChartSerieArrangeType.Stacked100) { barSeries.ArrangeMode = GraphSeriesArrangeMode.Stacked100; } //} barSeries.ToolTip.Text = string.Format("= {0}(Fields.{1})", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName); barSeries.ToolTip.Title = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName); barSeries.Y = string.Format("= {0}(Fields.{1})", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName); //categoryGroup.Groupings.Add(new Telerik.Reporting.Grouping()); //ChartSeries var serieGroup = new GraphGroup(); serieGroup.Name = column.EntityListViewColumn.RelativeColumnName; serieGroup.Groupings.Add(new Telerik.Reporting.Grouping(string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName))); serieGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc)); graph.SeriesGroups.Add(serieGroup); barSeries.SeriesGroup = serieGroup; barSeries.CategoryGroup = categoryGroup; barSeries.CoordinateSystem = cartesianCoordinateSystem1; barSeries.DataPointLabel = string.Format("= {0}(Fields.{1})", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName); barSeries.DataPointLabelStyle.Visible = true; barSeries.DataPointStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Cm(0); barSeries.DataPointStyle.Visible = true; barSeries.LegendItem.Value = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName); graph.Series.Add(barSeries); } } return(new Tuple <Report, Graph>(report, graph)); }
public GraphRenderRSI(ConfigurationPlot config, GraphAxis gx, GraphAxis gy, GraphPlotStyle style) : base(config, gx, gy, style) { }
// Use this for initialization void Start() { buildrate = 1f/10000f; GA = GraphAxis.me; GA.city = gameObject; pps = new ProjectParticleSet(); string url = "http://127.0.0.1:8000/api/project/?format=json&limit=2000";//&order_by=date_end"; if(MasterSettings.me.offline) { //KSJSON.me.getOffline(gameObject, "ProcessResponse", "15k"); //KSJSON.me.getOffline(gameObject, "ProcessResponse", "15k"); if(GraphAxis.me.UItype == UIType.Rockband) { projFileLoaded = new bool[projFiles.Length]; for(int i = 0; i < projFileLoaded.Length; i++) projFileLoaded[i] = false; } else { KSCSV.me.loadCSV(gameObject, projFiles[0]); KSCSV.me.loadCSV(gameObject, projFiles[2]); KSCSV.me.loadCSV(gameObject, projFiles[1]); } } else KSJSON.me.getURL(gameObject, "ProcessResponse", url); }
public void CorrectData(string graphTitle, GraphSizes graphSizes, Color graphColor, GraphAxis graphAxis, string toString) { GraphSettings testObject = new GraphSettings(graphTitle, graphSizes, graphColor, graphAxis); Assert.Equal(graphTitle, testObject.Title); Assert.Equal(graphSizes, testObject.Sizes); Assert.Equal(graphColor, testObject.GraphColor); Assert.Equal(graphAxis, testObject.Axis); Assert.Equal(toString, testObject.ToString()); }
private Tuple <Report, Graph> SetReportDetails(Report report) { var detail = new Telerik.Reporting.DetailSection(); detail.Height = Telerik.Reporting.Drawing.Unit.Cm(0.5); detail.Name = "detail"; ReportStyles.SetReportDetailStyle(detail.Style); report.Items.Add(detail); var graph = new Graph(); graph.Name = "graph1"; graph.Width = reportWidth; graph.Height = report.PageSettings.PaperSize.Height / 2; //reportWidth = report.Width; detail.Items.Add(graph); graph.Legend.Width = Unit.Cm(5); graph.Legend.Style.LineColor = System.Drawing.Color.LightGray; graph.Legend.Style.LineWidth = Telerik.Reporting.Drawing.Unit.Inch(0D); graph.PlotAreaStyle.LineColor = System.Drawing.Color.LightGray; graph.PlotAreaStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Inch(0D); //graph.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(6D), Telerik.Reporting.Drawing.Unit.Inch(3D)); CategoryScale categoryScale1 = new CategoryScale(); categoryScale1.PositionMode = Telerik.Reporting.AxisPositionMode.OnTicks; categoryScale1.SpacingSlotCount = 0D; GraphAxis categoryAxis = new GraphAxis(); GraphAxis valueAxis = new GraphAxis(); var polarCoordinateSystem = new PolarCoordinateSystem(); polarCoordinateSystem.AngularAxis = valueAxis; polarCoordinateSystem.RadialAxis = categoryAxis; graph.CoordinateSystems.Add(polarCoordinateSystem); categoryAxis.MajorGridLineStyle.LineColor = System.Drawing.Color.LightGray; categoryAxis.MajorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D); categoryAxis.MajorGridLineStyle.Visible = false; categoryAxis.MinorGridLineStyle.LineColor = System.Drawing.Color.LightGray; categoryAxis.MinorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D); categoryAxis.MinorGridLineStyle.Visible = false; categoryAxis.Name = "graphAxis2"; categoryScale1.PositionMode = Telerik.Reporting.AxisPositionMode.OnTicks; categoryScale1.SpacingSlotCount = 0D; categoryAxis.Scale = categoryScale1; categoryAxis.Style.Visible = false; valueAxis.MajorGridLineStyle.LineColor = System.Drawing.Color.LightGray; valueAxis.MajorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D); valueAxis.MajorGridLineStyle.Visible = false; valueAxis.MinorGridLineStyle.LineColor = System.Drawing.Color.LightGray; valueAxis.MinorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D); valueAxis.MinorGridLineStyle.Visible = false; valueAxis.Name = "graphAxis1"; valueAxis.Scale = new NumericalScale();; valueAxis.Style.Visible = false; var valuecolumn = ChartReportReportDTO.EntityChartReportValues.First(); var categoryGroup = new GraphGroup(); //categoryGroup.Groupings.Add(new Grouping()); graph.CategoryGroups.Add(categoryGroup); //if(ChartReportReportDTO.EntityChartReportSeries.Count>0) //{ //} var column = ChartReportReportDTO.EntityChartReportSeries.First(); var barSeries = new Telerik.Reporting.BarSeries(); graph.Series.Add(barSeries); barSeries.Name = column.EntityListViewColumn.RelativeColumnName; barSeries.CategoryGroup = categoryGroup; barSeries.ToolTip.Text = string.Format("= Format('{0}', {1}(Fields.{2}) / CDbl(Exec(\'graph1\', {1}(Fields.{2}))))", "{0:P}", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName); barSeries.X = string.Format("= {0}(Fields.{1})", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName); var serieGroup = new GraphGroup(); barSeries.SeriesGroup = serieGroup; //اگر نام ست نشده باشد گزارش درست کار نمیکند!!!!؟ serieGroup.Name = column.EntityListViewColumn.RelativeColumnName; serieGroup.Groupings.Add(new Telerik.Reporting.Grouping(string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName))); serieGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc)); graph.SeriesGroups.Add(serieGroup); //رو بقیه انواع خطا میدهد!اشکال تلریک هست در ورژن جدیدتر چک شود //شاید هم چون اصلا کتگوری ندارد و فقط سری دارد قانونش همینه barSeries.ArrangeMode = Telerik.Reporting.GraphSeriesArrangeMode.Stacked100; barSeries.CoordinateSystem = polarCoordinateSystem; barSeries.DataPointLabel = string.Format("= {0}(Fields.{1}) / CDbl(Exec(\'graph1\', {0}(Fields.{1})))", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName); barSeries.DataPointLabelAlignment = Telerik.Reporting.BarDataPointLabelAlignment.OutsideColumn; barSeries.DataPointLabelConnectorStyle.Padding.Bottom = Telerik.Reporting.Drawing.Unit.Point(2D); barSeries.DataPointLabelConnectorStyle.Padding.Top = Telerik.Reporting.Drawing.Unit.Point(2D); barSeries.DataPointLabelFormat = "{0:P}"; barSeries.DataPointLabelOffset = Telerik.Reporting.Drawing.Unit.Mm(5D); barSeries.DataPointLabelStyle.Visible = true; barSeries.DataPointStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Inch(0D); barSeries.DataPointStyle.Visible = true; barSeries.LegendItem.Value = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName); var legendValue = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName); var parentGeoup = serieGroup; foreach (var cColumn in ChartReportReportDTO.EntityChartReportSeries.Where(x => x != column)) { var newGroup = new GraphGroup(); newGroup.Name = column.EntityListViewColumn.RelativeColumnName; newGroup.Groupings.Add(new Telerik.Reporting.Grouping(string.Format("= Fields.{0}", cColumn.EntityListViewColumn.RelativeColumnName))); newGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", cColumn.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc)); parentGeoup.ChildGroups.Add(newGroup); barSeries.SeriesGroup = newGroup; parentGeoup = newGroup; legendValue += "+ \'/\' +" + string.Format(" Fields.{0}", cColumn.EntityListViewColumn.RelativeColumnName); } barSeries.LegendItem.Value = legendValue; barSeries.ToolTip.Title = legendValue; return(new Tuple <Report, Graph>(report, graph)); }
void Awake() { me = GetComponent <GraphAxis>(); xAxisClicked = yAxisClicked = zoomClicked = catsClicked = geosClicked = false; }
void Awake() { me = GetComponent<GraphAxis>(); xAxisClicked = yAxisClicked = zoomClicked = catsClicked = geosClicked = false; }
private List <Vector3> points = new List <Vector3>(); //Stores vertex positions to generate mesh // Use this for initialization void Start() { float rotoAngle = 0; //Angle of rotation for current Axis being added; angleNum = 360 / axisNum; //Function for acquiring data. Just pulls Random values, atm. getData(); //Adds origin for center of Graph points.Add(transform.position); //Adds in and sets values of Axis for (int i = 0; i < axisNum; i++) { //Instantiates Axis Transform axis = Instantiate(axisBar, transform.position, Quaternion.identity, transform) as Transform; //Grabs current data Item var item = data.ElementAt(i); //Accesses Axis script and sets Marker's position locally in accordance to its value ////Its position is determined by where the data falls between the lowest and highest possible data points (as a percentage of 100). GraphAxis gAxis = axis.gameObject.GetComponent <GraphAxis>(); Vector3 pos = gAxis.marker.position; pos.y = gAxis.transform.position.y + (gAxis.top.position.y - gAxis.transform.position.y) * item.Value; gAxis.marker.position = pos; //Temp vector3 for multiple purposes Vector3 temp = axis.eulerAngles; //Assign Axis angle temp.z = rotoAngle; axis.eulerAngles = temp; /* Straitens out Text Labels (3D GUI in this instance) if Axis have them (Optional) * temp = gAxis.text.transform.eulerAngles; * temp.z = 0; * gAxis.text.transform.eulerAngles = temp; * * //Adjusts Text position as to not obstruct data (Optional) * TextMesh text = gAxis.text; * temp = text.transform.position; * if (rotoAngle < 180 rotoAngle != 0) * temp.x -= ((text.renderer.bounds.size.x / 2) + .01f); * else if (rotoAngle > 180) * temp.x += ((text.renderer.bounds.size.x / 2) + .01f); * * text.transform.position = temp; * text.text = item.Key;*/ //Adds Marker's position to the list of data points to be used as a vertex points.Add(gAxis.marker.position); //Adjusts angle of rotation for next access and parents current Axis rotoAngle += angleNum; } //Displays graph showGraph(); }
private Path DrawAxisLine(Point start, Point end, GraphAxis axis, DashData dashData, double dpi) { FormattedText text = new FormattedText(axis.ToString(), CultureInfo.CurrentCulture, FlowDirection.LeftToRight, new Typeface("Arial"), 16, Brushes.Black, dpi); Geometry textGeometry; if (axis == GraphAxis.X) { textGeometry = text.BuildGeometry(new Point(end.X - 10, end.Y + 15)); } else { textGeometry = text.BuildGeometry(new Point(end.X - 20, end.Y)); } GeometryGroup lineGroup = new GeometryGroup(); double theta = Math.Atan2((end.Y - start.Y), (end.X - start.X)) * 180 / Math.PI; PathGeometry pathGeometry = new PathGeometry(); PathFigure pathFigure = new PathFigure { StartPoint = end }; Point lpoint = new Point(end.X + 6, end.Y + 15); Point rpoint = new Point(end.X - 6, end.Y + 15); LineSegment seg1 = new LineSegment { Point = lpoint }; pathFigure.Segments.Add(seg1); LineSegment seg2 = new LineSegment { Point = rpoint }; pathFigure.Segments.Add(seg2); LineSegment seg3 = new LineSegment { Point = end }; pathFigure.Segments.Add(seg3); pathGeometry.Figures.Add(pathFigure); RotateTransform transform = new RotateTransform { Angle = theta + 90, CenterX = end.X, CenterY = end.Y }; pathGeometry.Transform = transform; lineGroup.Children.Add(pathGeometry); AddDashesToLine(lineGroup, axis, dashData, dpi); LineGeometry connectorGeometry = new LineGeometry { StartPoint = start, EndPoint = end }; lineGroup.Children.Add(connectorGeometry); lineGroup.Children.Add(textGeometry); Path path = new Path { Data = lineGroup, StrokeThickness = 1 }; path.Stroke = path.Fill = Brushes.Black; return(path); }
//private List<ColumnSizeLocation> GetColumnsSizeLocation() //{ // List<ColumnSizeLocation> result = new List<ColumnSizeLocation>(); // int widthUnits = 0; // var columns = ChartReportReportDTO.EntityListView.EntityListViewAllColumns.Where(x => x.RelationshipTailID == 0); // foreach (var column in columns) // { // widthUnits += (column.WidthUnit == 0 ? 1 : column.WidthUnit); // } // var width = reportWidth; // var perUnitWidth = width.Divide(widthUnits); // var consumedWidthUnits = 0; // if (ReportGroups != null) // foreach (var reportGroup in ReportGroups) // { // ColumnSizeLocation columnSizeLocation = new ColumnSizeLocation(); // columnSizeLocation.LictViewColumnID = reportGroup.ListViewColumnID; // SetColumnSizePosition(columnSizeLocation, reportGroup.EntityListViewColumn.WidthUnit, ref consumedWidthUnits, perUnitWidth); // result.Add(columnSizeLocation); // } // foreach (var column in columns) // { // if (!result.Any(x => x.LictViewColumnID == column.ID)) // { // ColumnSizeLocation columnSizeLocation = new ColumnSizeLocation(); // columnSizeLocation.LictViewColumnID = column.ID; // SetColumnSizePosition(columnSizeLocation, column.WidthUnit, ref consumedWidthUnits, perUnitWidth); // result.Add(columnSizeLocation); // } // } // return result; //} //private void SetColumnSizePosition(ColumnSizeLocation columnSizeLocation, int currentWidthUnits, ref int consumedWidthUnits, Unit perUnitWidth) //{ // if (currentWidthUnits == 0) // currentWidthUnits = 1; // var width = currentWidthUnits * perUnitWidth; // columnSizeLocation.Width = width; // var xlocation = (reportWidth - width) - consumedWidthUnits * perUnitWidth; // columnSizeLocation.XLocation = xlocation; // consumedWidthUnits += currentWidthUnits; //} // private Telerik.Reporting.DetailSection detailSection1; // private Telerik.Reporting.Graph graph1; //private Telerik.Reporting.PolarCoordinateSystem polarCoordinateSystem1; //private Telerik.Reporting.GraphAxis graphAxis1; //private Telerik.Reporting.GraphAxis graphAxis2; //private Telerik.Reporting.BarSeries barSeries1; private Tuple <Report, Graph> SetReportDetails(Report report) { var detail = new Telerik.Reporting.DetailSection(); //detail.Height = Telerik.Reporting.Drawing.Unit.Cm(0.5); detail.Name = "detail"; ReportStyles.SetReportDetailStyle(detail.Style); report.Items.Add(detail); var graph = new Graph(); graph.Name = "graph1"; graph.Width = reportWidth; graph.Height = report.PageSettings.PaperSize.Height / 2; //reportWidth = report.Width; detail.Items.Add(graph); graph.Legend.Width = Unit.Cm(4); graph.Legend.Style.LineColor = System.Drawing.Color.LightGray; graph.Legend.Style.LineWidth = Telerik.Reporting.Drawing.Unit.Inch(0D); graph.PlotAreaStyle.LineColor = System.Drawing.Color.LightGray; graph.PlotAreaStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Inch(0D); //graph.Size = new Telerik.Reporting.Drawing.SizeU(Telerik.Reporting.Drawing.Unit.Inch(6D), Telerik.Reporting.Drawing.Unit.Inch(3D)); GraphAxis categoryAxis = new GraphAxis(); GraphAxis valueAxis = new GraphAxis(); CategoryScale categoryScale1 = new CategoryScale(); categoryAxis.LabelPlacement = Telerik.Reporting.GraphAxisLabelPlacement.AtMaximum; categoryAxis.MajorGridLineStyle.LineColor = System.Drawing.Color.LightGray; categoryAxis.MajorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D); categoryAxis.MajorGridLineStyle.Visible = true; categoryAxis.MinorGridLineStyle.LineColor = System.Drawing.Color.LightGray; categoryAxis.MinorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D); categoryAxis.MinorGridLineStyle.Visible = false; categoryAxis.Name = "categoryAxis"; //categoryScale1.PositionMode = Telerik.Reporting.AxisPositionMode.OnTicks; categoryScale1.SpacingSlotCount = 0.1D; categoryAxis.Style.LineWidth = Telerik.Reporting.Drawing.Unit.Inch(0D); categoryAxis.Scale = categoryScale1; categoryAxis.Style.Visible = true; valueAxis.LabelAngle = 90; valueAxis.MajorGridLineStyle.LineColor = System.Drawing.Color.LightGray; valueAxis.MajorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D); valueAxis.MajorGridLineStyle.Visible = true; valueAxis.MinorGridLineStyle.LineColor = System.Drawing.Color.LightGray; valueAxis.MinorGridLineStyle.LineWidth = Telerik.Reporting.Drawing.Unit.Pixel(1D); valueAxis.MinorGridLineStyle.Visible = false; valueAxis.Name = "valueAxis"; NumericalScaleCrossAxisPosition numericalScaleCrossAxisPosition1 = new NumericalScaleCrossAxisPosition(); numericalScaleCrossAxisPosition1.Position = Telerik.Reporting.GraphScaleCrossAxisPosition.AtMinimum; numericalScaleCrossAxisPosition1.Value = 0D; NumericalScale numericalScale1 = new NumericalScale(); numericalScale1.CrossAxisPositions.Add(numericalScaleCrossAxisPosition1); valueAxis.Scale = numericalScale1; //valueAxis.Style.Visible = false; var polarCoordinateSystem = new PolarCoordinateSystem(); polarCoordinateSystem.AngularAxis = categoryAxis; polarCoordinateSystem.Name = "polarCoordinateSystem1"; polarCoordinateSystem.RadialAxis = valueAxis; graph.CoordinateSystems.Add(polarCoordinateSystem); var valuecolumn = ChartReportReportDTO.EntityChartReportValues.First(); var categoryColumn = ChartReportReportDTO.EntityChartReportCategories.First(); var categoryGroup = new GraphGroup(); categoryGroup.Name = categoryColumn.EntityListViewColumn.RelativeColumnName; categoryGroup.Groupings.Add(new Grouping(string.Format("= Fields.{0}", categoryColumn.EntityListViewColumn.RelativeColumnName))); categoryGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", categoryColumn.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc)); graph.CategoryGroups.Add(categoryGroup); //if(ChartReportReportDTO.EntityChartReportSeries.Count>0) //{ //} var column = ChartReportReportDTO.EntityChartReportSeries.First(); var barSeries = new Telerik.Reporting.BarSeries(); barSeries.ArrangeMode = Telerik.Reporting.GraphSeriesArrangeMode.Stacked; graph.Series.Add(barSeries); barSeries.Name = column.EntityListViewColumn.RelativeColumnName; barSeries.CategoryGroup = categoryGroup; barSeries.CoordinateSystem = polarCoordinateSystem; barSeries.DataPointLabel = string.Format("= {0}(Fields.{1})", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName); barSeries.DataPointLabelStyle.Visible = false; barSeries.LegendItem.Value = "= Fields.Name"; barSeries.Y = string.Format("= {0}(Fields.{1})+0.1", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName); barSeries.LegendItem.Value = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName); var serieGroup = new GraphGroup(); //اگر نام ست نشده باشد گزارش درست کار نمیکند!!!!؟ serieGroup.Name = column.EntityListViewColumn.RelativeColumnName; serieGroup.Groupings.Add(new Telerik.Reporting.Grouping(string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName))); serieGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc)); graph.SeriesGroups.Add(serieGroup); barSeries.SeriesGroup = serieGroup; barSeries.ToolTip.Text = string.Format("= {0}(Fields.{1})", valuecolumn.FunctionType.ToString(), valuecolumn.EntityListViewColumn.RelativeColumnName); // barSeries.ToolTip.Title = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName); var legendValue = string.Format("= Fields.{0}", column.EntityListViewColumn.RelativeColumnName); var parentGeoup = serieGroup; foreach (var cColumn in ChartReportReportDTO.EntityChartReportSeries.Where(x => x != column)) { var newGroup = new GraphGroup(); newGroup.Name = cColumn.EntityListViewColumn.RelativeColumnName; newGroup.Groupings.Add(new Telerik.Reporting.Grouping(string.Format("= Fields.{0}", cColumn.EntityListViewColumn.RelativeColumnName))); newGroup.Sortings.Add(new Telerik.Reporting.Sorting(string.Format("= Fields.{0}", cColumn.EntityListViewColumn.RelativeColumnName), Telerik.Reporting.SortDirection.Asc)); parentGeoup.ChildGroups.Add(newGroup); barSeries.SeriesGroup = newGroup; parentGeoup = newGroup; legendValue += "+ \'/\' +" + string.Format(" Fields.{0}", cColumn.EntityListViewColumn.RelativeColumnName); } barSeries.LegendItem.Value = legendValue; barSeries.ToolTip.Title = legendValue; return(new Tuple <Report, Graph>(report, graph)); }