Hello, I need to color a splinearea series with two different colors, depending on the crossing of a custom Xline.See attachment.Any idea on how to achieve this behavior?
Thanks in advance
Hello famproject,
Thank you for contacting Infragistics. I have been investigating into this and I recommend that you split up your data source into as many collections as you would like to have colors for your data (in this case, two). You must use multiple series; since a single series cannot display more than one color at a time. Providing an array of colors is considered to be a new product idea.
You can suggest new product ideas for future versions (or vote for existing ones) at http://ideas.infragistics.com
There are many benefits to submitting a product idea:
Direct communication with our product management team regarding your product idea.Notifications whenever new information regarding your idea becomes available.Ability to vote on your favorite product ideas to let us know which ones are the most important to you. You will have ten votes for this and can change which ideas you are voting for at any time.Allow you to shape the future of our products by requesting new controls and products altogether.You and other developers can discuss existing product ideas with members of our Product Management team.
Steps to create your idea:
1. Log into the Infragistics Product Idea site at http://ideas.infragistics.com (creating a new login if needed).
2. Navigate to the product / platform channel of your choice (e.g. WPF, Windows Forms, ASP.NET, HTML5 / Ignite UI, iOS / NucliOS, etc.)
3. Add your product idea and be sure to be specific and provide as much detail as possible.
- Explain the context in which a feature would be used, why it is needed, why it can't be accomplished today, and who would benefit from it. You can even add screenshots to build a stronger case. Remember that for your suggestion to be successful, you need other members of the community to vote for it. Be convincing!
- Include a link to this thread in your idea so product management will be able to look back at this case.
The Product Idea site puts you in the driver's seat and allows you to track the progress of your ideas at any time, see how many votes it got, read comments from other developers in the community, and see if someone from the product team has additional questions for you.
Let me know if you have any questions.
For more assistance on getting started with using multiple series, please visit our online documentation:
http://es.infragistics.com/help/wpf/datachart-multiple-series
An alternative series type would be to use a Range Area series. http://es.infragistics.com/help/wpf/datachart-category-range-area-series
Plotting the data values above or below a specific threshold can be achieved by using the ReferenceValue and AxisCrossing properties, exposed on the axes.
For more details and an illustration, please visit the Configuring Axis Crossing topic:http://es.infragistics.com/help/wpf/datachart-axis-crossing
You can also use a ValueOverlay if you manually need to display a line and set the value based on the ReferenceValue property.
eg. <ig:ValueOverlay x:Name="ValueOverlay" Title="ValueOverlay" Axis="{Binding ElementName=numericYAxis, Path=ReferenceValue}" Value="50" Thickness="10" Opacity="0.5" IsHighlightingEnabled="True" > </ig:ValueOverlay>
Let me know if you have any questions regarding this matter.
Thank you Michael, I've already tried with multiple series, but the problem is that the splineArea uses interpolation to build itself, so I still cannot figure out an algorhitm to find the correct point at which the second series should start.
Thank anyway
Thank you for your reply. From my understanding, you need to determine the location of the threshold line is based on your data? So the data updating frequently?
Please clarify all of requirements, that way I can have a better understanding to assist you further.
Let me know if you have any additional questions.
HI Michael, that's quite simple.
Let's take the EnergyDataSanmple datasource and create a spline area to show the Oil Category series for example. Suppose the threshold line is set to a value = 12 or whatever you like (Create a secondary XAxis with Crossing value = 12)
Now, if I create a secondary spline with the series built by looping through the Oil category points and cutting out all values < 12, the result is a spline that will never fit the original spline at the very beginning of the series because of the interpolation algorithm I suppose.
Another problem to face with is the filling area of the secondary series that should be based on the threshold line.
I don't think that a secondary spline is a suitable way to proceed.
Hi Michael, I solved the problem using a base Area series covered with a RangeArea series, modifying accordingly the points of the second series to allow the different color to appear only when crossing the threshold. See image attached.
If you have some other trick to be used, possibly without managing and modyifing the datasources, I'll appreciate it.
Thank you for following up. I am glad you were able to utilize the RangeArea series to meet your requirement. However I do not have a more suitable solution to avoid tinkering with the datasource.
Let me know if you have any additional questions regarding this matter.