Hi, I have a requirement to implement the attached chart in .NET, and I am evaluating Infragistics for the same.
A brief description about the chart:
This has two chart Areas. ChartArea1; It has two Y-Axes and a common X-axis for showing time.
1. Scatter ChartLayer To plot 4 series with circles(of different sizes), dot.2. LineChartLayer With two series 3. StepLineChartLayer With two series. All the above three layers are mapped to Y1 axis.4. ColumnChartLayer mapped to the Y2 axis.
Chart area2 also almost similar alignment as ChartArea1 except for the scatter layer, which is not present here.
I have designed this in Infragistics as follows,CompositeChart ChartArea1 (with Y1, Y2 axes, two X-axes one Time and the other String) ScatterLayer LineChartLayer StepLineChartLayer ColumnChartLayer (uses the String X-axis) ChartArea2 (With Y1, Y2 axes, two X-axes one Time and the other String) LineChartLayer ColumnChartLayer(uses String X-axis again)
Problems with this approach:1. The two X-axes on the chart areas are not synchronized. I've tried setting range type as Custom for both X-axes and then calculate and set the range programatically. This, however, didnt work the String X-axis, but works for the time X-axis.2. Can I do co-ordinated range setting between the X-axes of chartarea1 and 2? This would help me in setting zoom-in/zoom-out consistently across the charts.3. Can I set the names for the axes as shown in the attached screenshot(Price, Size, Rate etc)? I've checked the samples. A hacky way of doing this is to use chart's titleLeft, TitleRight etc.4. Can we set Appearance for the StepLineCharts? We are setting the same for LineCharts to reduce the line thickness, hide the icon etc. Can we do the same for step lines as well?5. Can we restrict the zoom functions to operate on X-axis alone? i.e. The Y-axis should always adjust to show the *entire* data in the current zoomed window.
Thanks,
Sanjeev.
sanjeev_reddy24 said:1. The two X-axes on the chart areas are not synchronized. I've tried setting range type as Custom for both X-axes and then calculate and set the range programatically. This, however, didnt work the String X-axis, but works for the time X-axis.
i would expect the string axes to look synchronized if you have RangeType = Custom and RangeMin and RangeMax are set to the same values. do you have a picture of the problem behavior?
sanjeev_reddy24 said:2. Can I do co-ordinated range setting between the X-axes of chartarea1 and 2? This would help me in setting zoom-in/zoom-out consistently across the charts.
Yes you can, but you must manually adjust the ranges. You can also use the properties under Axis.ScrollScale to programatically set the zoom level and scroll position.
sanjeev_reddy24 said:3. Can I set the names for the axes as shown in the attached screenshot(Price, Size, Rate etc)? I've checked the samples. A hacky way of doing this is to use chart's titleLeft, TitleRight etc.
Axis titles aren't a feature of the UltraChart, but as you've observed, you can use the chart titles. you can also use the Annotations collection to position text anywhere over the chart.
sanjeev_reddy24 said:4. Can we set Appearance for the StepLineCharts? We are setting the same for LineCharts to reduce the line thickness, hide the icon etc. Can we do the same for step lines as well?
yes, just use the properties under LineChart.
sanjeev_reddy24 said:5. Can we restrict the zoom functions to operate on X-axis alone? i.e. The Y-axis should always adjust to show the *entire* data in the current zoomed window.
yes, if you handle the Scrolling and/or Scaling events, you can customize the result of users using the scrollbars.
Hi,
can anyone please comment on the above requirement. I am in full confusion whether the above requirement can be achieved using Infragistics or not. If yes, please suggests me how should I get this done.
Sanjeev