i want to highlight the lowest and the highest datapoint with green and red bubble as shown below.
i have a composite webchart. i am trying to add 2 bubble series with a different chart area for each bubble series overlapping one on top of other. I want to know if there is a better solution to implement this logic.
Hi utkarsh_bandekar,
Thank you for posting in the community.
In order to style particular datapoints in your chart differently, you can use the FillSceneGraph event. Please refer to the following threads for instructions and samples on this topic:
http://blogs.infragistics.com/forums/p/64387/326458.aspx
http://blogs.infragistics.com/forums/p/33056/180939.aspx#180939
Please note that if you are planning to implement overlapping charts, it may be more convenient to use a single area for the composite chart and multiple chart layers.
Do not hesitate to contact me if you have any questions.
hello Petar,
thanks for your reply.
i am using FillSceneGraph to highlight low/high datapoint.
i am facing one problem in FillSceneGraph.
i have a composite chart which has two chart layers with line chart and area chart resp.
the below event highlights low/high point in both charts line as well as area.
i want to highlight only in line chart.
void ultraChart_FillSceneGraph(object sender, Infragistics.UltraChart.Shared.Events.FillSceneGraphEventArgs e) { UltraChart ultraChart = sender as UltraChart; if (ultraChart != null) { PrimitiveCollection symbols = new PrimitiveCollection(); foreach (Primitive p in e.SceneGraph) { Polyline polyline = p as Polyline; if (polyline != null) { foreach (DataPoint dataPoint in polyline.points) { NumericTimeDataPoint numericTimeDataPoint = dataPoint.DataPoint as NumericTimeDataPoint; if (numericTimeDataPoint != null) { Symbol symbol; if (numericTimeDataPoint.NumericValue == Maxvalue) { symbol = new Symbol { icon = SymbolIcon.Circle, iconSize = (SymbolIconSize) 7, PE = {Fill = Color.FromArgb(0, 50, 205, 50), StrokeWidth = 0, Stroke = Color.Transparent }, point = dataPoint.point }; symbols.Add(symbol); } if (numericTimeDataPoint.NumericValue == Minvalue) { symbol = new Symbol { icon = SymbolIcon.Circle, iconSize = (SymbolIconSize) 7, PE = { Fill = Color.FromArgb(0, 255, 48, 48) , StrokeWidth = 0, Stroke = Color.Transparent }, point = dataPoint.point }; symbols.Add(symbol); } } } } break; //since chart type cannot be known, it is assumed the 1st collection is of line chart } } e.SceneGraph.AddRange(symbols.ToArray()); } }