Hi,
I am trying to display Markers in my chart in such a way that it only apears on cirtain datapoints but not at all data points. Currently I am using line chart and Binding my collection with chart at runtime and maping Xvalue and Yvalue on my chart. But I want to display markers on cirtain XValues not to all Xvalues in mychart . Can anyone suggest me the solution please.
Thanks.
Muhammad,
The chart uses the DataPoint for markers. The ToolTip can be mapped, but it is not a valid token for markers. ValueX and ValueY are designed for the markers.
Here is additional iniformation about data mapping criteria:
http://help.infragistics.com/NetAdvantage/WPF/current/CLR3.5/?page=xamChart_DataMapping_for_xamChart.html
Let me know if you have any question.
Sam
Hi Sam,
Thanks for your reply and the solution you provided it was already working but for static datas. If you want to simulate your graphs on change in data and on notificationchanged then it ill never work. But I have found the solution please find the code below:
public static Series MakeSeriesForLabels<T>(T SeriesList, string Labelstring)
{
Series sr = new Series();
Binding DataMapingBinding = new Binding();
DataMapingBinding.Source = SeriesList;
sr.SetBinding(
Series.DataSourceProperty, DataMapingBinding);
sr.Label = Labelstring;
sr.Fill =
Brushes.Transparent;
sr.ChartType =
ChartType.ScatterLine;
sr.DataMapping =
"ValueX=CurvePointX ; ValueY=CurvePointY; ToolTip= Tenors";
Marker m = new Marker();
m.Fill =
Brushes.Green;
m.Type =
MarkerType.Star5;
m.Stroke =
Brushes.Black;
m.SetBinding(
Marker.FormatProperty, "Tenors");
//m.Format = "";// Here I want to display Tenors maped in ToolTip
sr.Marker = m;
return sr;
}
This function will definately work for anytype of collection to simulate change in data on runtime with markers depending upon your data and containting text outof any property from binded collection. If you could suggest anything better this then most welcome.
If you are trying to display the tooltip text on the marker, then the tooltips have to be defined for each data point, and then create markers for the data points that need to be customized, then you can set the data point's marker property with the customized marker.
Here is an example:
Marker marker9; Random rand = new Random(); for (int i = 0; i < 5; i++) { DataPoint dp = new DataPoint(); dp.ChartParameters.Add(ChartParameterType.ValueX, ValueX, rand.Next(1, 5)); dp.ChartParameters.Add(ChartParameterType.ValueY, ValueY, rand.Next(1, 5)); dp.ToolTip = "your text" + dp.Value.ToString();
marker9 = new Marker(); marker9.Format = dp.ToolTip.ToString(); marker9.Type = MarkerType.Rectangle; dp.Marker = marker9; ser.DataPoints.Add(dp); }
Thanks Curtis for your reply.
Hello,
Just to clarify a couple of things on our end. Marker is eventually derived from the WPF base class FrameworkContentElement. FrameworkContentElement contains a ToolTip property. However, the Chart does not use this property. The Chart is designed to use the DataPoint ToolTip for displaying ToolTips on individual points along the chart.
If you think we ought to support separate ToolTips on the Markers, I encourage you to submit this as a feature request:http://devcenter.infragistics.com/Protected/RequestFeature.aspx
From reading your posts, are you asking if there is a way to bind the DataPoint.ToolTip text to the DataPoint.Marker Text? Would this solve the issue?
Thanks,