Add a mechanism that allows the chart to process only the data within the viewport. This should improve the memory footprint and the performance of the chart in scenarios with big number of data points.
Currently, the control relies on its IsLoaded property to determine if it should render its items (axes, data points, annotations, etc.). However, if you measure and arrange the control in code without adding it into the visual tree, the IsLoaded property is not set to True, therefore the chart is not rendered and the image gets empty. Original description ---------------------------------- Title: RadCartesianChart incorrecly rendered We're rendering (Telerik) charts in code behind, to include them in a dynamic documentation. For most controls it works fine - using standard methods (rendering control with System.Windows.Media.Imaging.RenderTargetBitmap and saving the result BitmapSource to disk) However, it's impossible with RadCartesianChart with CategoricalSeriesDescriptor or ChartSeriesDescriptor. What we are able to get are axes and descriptions, but not bars. I'm attaching an example - MainWindow displays a chart. I try to also create the chart in code behind. In CreateAndSaveChart() method I create a chart with a DataContext, then I call Measure and Arrange methods on it. At this stage the control should be properly initialized and ready to render. (For simplicity I omit rendering control with RenderTargetBitmap - you can preview the control with WPF Tree Visualizer, which will give you the same result). Well, if you preview the control at this stage, you'll see that the chart is missing bars. Next I create a new Window with my chart as a content, and display it for a while. Now the chart is fully and correctly rendered. As a workaround we display some Telerik chart in a transparent window to fully render, but such a workaround was reported not to work for some clients and is unacceptable in a long run. With most of Telerik charts we don't have such problems. Other issue: - for other Telerik charts we need to wait a few seconds to have it fully rendered. It's be better to have an event informing that the control is ready. I'll be happy to add more details if you need any. * While experimenting with the example I've suddenly managed to render the chart with bars, but this time the rendered size was incorrect (very small)
How can I hide the point in the lineSeries with the large data,and then zoom in by mousewheel,the point can be show in the lineSeries,when zoom out again,the point can be hide. Because with large data in a view,if show the point, the lineSeries's performance is poor,and the details area is not necessary,only when zoom in,we hope to show the point.
Introduce a way to set a geometry for the chart series' data points. Currently you cannot easily change the geometry of the default visual of PointSeries and LineSeries, for example. We can also introduce a default visual geometry selector.
Create 2-dimensional contour plot from unstructured 3-dimensional data. Means the points are randomly arranged in the XY plane. Attached file shows an example of what I would like to achieve. I think the contour plot Telerik does currently requires a structured grid, i.e. full grid of NxM points.
Currently, if the trackball position is outside the plot area boundaries, the element is not clipped and there is no mechanism that allows clipping it. Note: The trackball is the small ellipse that snaps to the data points.
Allow to track points that intercept vertical line from mouse position (as now) or points that intercept horizontal line from mouse position. So allow to choose TrackDirection = Horizontal/Vertical Thanks. marc.
Add mechanism for getting the layout slot of the axis
Ability to specify a cursor during a drag-to-pan operation. One way to work-around this is to use the attached property in the sample project attached here. This is the code needed to start using the solution: <telerik:RadCartesianChart local:ChartUtilities.PanCursor="Hand" />
Hi, I worked with a lot of chart components for Wpf. I think Telerik offer the best charts architecture that allow to obtain great results in every scenario. After years of use, I think is possible to improve more the global architecture. 1) Series Dataset Charts now works with Points. I think that a better solution require a more abstract structure as a virtual "Dataset". A dataset reuire a type [conform to X axis], tipically X can be a double, a datetime, a label. Dataset return info about poits, tipically: - Min X - Max X Dataset return a DataContext that allow to draw chart: - GetCloserX to an X value [Trackball/Lables...] - GetPoints from/to [Pan/Zoom] This approach is really more efficent and powerfull. In example you can simply define a Dataset as a Formula: Dataset "CosX" based on doubles. MinX=-inf Maxx=+inf GetDataContext from/to -> Return allways 100 points x, cos(x). So you can obtain: - Ultraefficient series using GetDataContext algorithms for specific cases, in example, ordered data. - Trend lines using "Formula" series 2) Only one series, with subtypes. It is really annoying change series type. I think a chart must contains a series and this series can show Line, Area, Split Line, Markers, Columns... To write a good "option panel" that allow user to set Line Thickness, Line Split or standard, Area opacity, Area Color, Marker Type, Marker Colors, Columns Borders... require today a giant work and elaborate code that add and remove serie, reassign points, set z-index, remove and add series in legend... with an incredible useless works in points. 3) More accurate axes definition. Now Chart and Series expose Horizontal and Vertical Axis property. I think this is terrible properties :-). "Horizontal" and "Vertical" is depending chart orientation. Furthermore now, first X/Y axis must be set in chart, others in series. Moving series from an axis to another is really annoying: if new axis is first you must set is null else you must set it... I think Chart must expose XAxesCollection and YAxesCollection. This collections must contains all X and Y axes. Series [and annotation and every object that uses axes] must expose XAxis and YAxis as the Axis object or Axis index. 4) Chart orientation Today a simple chart rotation require a lot of code. The developer must be invert Horizontal and vertical axes, change axes in series and annotations, zoom/pan stop to work... When this is combined with point 2) problems the result is an nightmare. I understand this require a big work and a lot of compatibility problems [Telerik already exposes two charts versions, three is probably a little bit confused]. But if Telerik obtains this features I think it become the most unattainable charts component producer of the world. Decline reason: Most suggestions were tried in the old RadChart and they weren't working very well.