The trackball visuals are the ellipses that snap to the data points when you enable the trackball behavior and hover the plot area. If a trackball is displayed and you zoom-in (via mouse wheel) or pan (via drag), the trackball visuals stay on the proper data point as expected. However, if the zoom-in forces the corresponding data point to go outside the viewport, the trackball follows it and it doesn't get hidden (because it is outside the viewport/plot area).
To work this around, you can manually hide the Ellipse visuals.
private void RadChart_PanOffsetChanged(object sender, Telerik.Windows.Controls.ChartView.ChartPanOffsetChangedEventArgs e)
{
Dispatcher.BeginInvoke(new Action(() =>
{
var chart = (RadCartesianChart)sender;
var trackballs = chart.ChildrenOfType<Ellipse>().Where(x => x.DataContext is DataPointInfo);
foreach (Ellipse visual in trackballs)
{
var dpInfo = (DataPointInfo)visual.DataContext;
RadRect dpSlot = dpInfo.DataPoint.LayoutSlot;
if (!chart.PlotAreaClip.Contains(dpSlot.X, dpSlot.Y))
{
visual.Opacity = 0;
}
else
{
if (visual.Opacity == 0)
{
visual.Opacity = 1;
}
}
}
}));
}
NullReferenceException when MinorTicksPerMajor of the axis is set and the chart gets unloaded.
To work this around, avoid setting the MinorTIcksPerMajor property in this scenario.
The exception can be observed when you a plot data point with value that falls outside of the range of the Decimal type. As a workaround you can coerce the data before give it to the chart.
I would like to be able to create a histogram where both the x and y axis are linear series and where I can specify the start and end position of each bin (not just one). Previously described workarounds include using StepLineSeries and bar series which cannot have two linear series. I cannot use a scatter plot series as they do not provide the step-wise look of the histogram. Please add this support!
The FadeOtherSeries hover mode doesn't work when the lightweight render options (Direct2D and Bitmap) are used.
You can find one way to work this around in the attached project.
ArgumentException occurs when the ItemsSource of the chart series is populated with items that implement the ICustomTypeProvider interface and the value binding properties of the series (ValueBinding, CategoryBinding, YValueBinding, XValueBinding, etc.) are assigned to dynamic properties. This happens when the value binding properties are assigned to PropertyNameDataPointBinding object pointing to a property name. This is also what happens if you set the properties in XAML using string values.
To work this around, you can use the GenericDataPointBinding<T> class defined in code-behind in order to assign the value binding properties.
Or alternatively, you can implement custom PropertyNameDataPointBinding class and override its GetValue() method. In the method, you can check the item type and if it is ICustomTypeProvider, and then execute custom code that gets the value. The custom PropertyNameDataPointBinding implementation is shown in the attached CustomPropertyNameDataPointBinding.zip file. To use the custom binding class in XAML, you can use the following syntax:
<telerik:ScatterPointSeries.YValueBinding>
<local:CustomPropertyNameDataPointBinding PropertyName="Y" />
</telerik:ScatterPointSeries.YValueBinding>
The SeriesCreated event of the RadChartView's SeriesProvicer is never called when the SeriesDescriptorSelector property is used.
To work this around, you can create a custom chart series descriptor and override its CreateInstanceCore method.
public class CustomScatterSeriesDescriptor : ScatterSeriesDescriptor
{
protected override ChartSeries CreateInstanceCore(object context)
{
var series = (ScatterSeries)base.CreateInstanceCore(context);
// assign whatever settings you need here
return series;
}
}
ChartView: Add support for axes rendering, when no data is available As a workaround add a series with one point and set its color to transparent. <telerik:ScatterLineSeries XValueBinding="." YValueBinding="." Stroke="Transparent"> <telerik:ScatterLineSeries.ItemsSource> <x:Array Type="system:Int32"> <system:Int32>0</system:Int32> </x:Array> </telerik:ScatterLineSeries.ItemsSource> </telerik:ScatterLineSeries>
Support for displaying error bars
LabelRotationAngle applies to labels only in horizontal axis.
It is mainly needed in Vertical axis, when the chart is rotated externally, when placed in rotated panel or control. In this case the vertical axis take the role of a horizontal axis visually and easy way to rotate all labels is needed for readability.
Add the option for having separate PanZoomBars for each axis, so the user can scroll/zoom each axis independently from the other axes.
Add support for BoxPlot series type either through enabling extensibility of the CandlestickSeries type, or through providing new built-in BoxPlot series type.
Gaps appear between the bars in the stacks when the series are populated with negative and positive values. Check the attached picture. If you have a scenario with mixed values (positive and negative) use RangeBarSeries instead of BarSeries.
Issue1) When no RenderTransformOrigin is set to ScaleAnimation, all slices should be scaled from the pie chart center point. Currently thiss is not true, to better reproduce it , set MaxScale > 1 and notice slices overlap each other at the end of the animation.
Issue2) When RenderTransformOrigin is set to , for example (0, 0), all slices should start animating from topleft corner of the chart. Currently only the first one is animated from top left and all others are animated from pie chart center.
It appears the ChartView is also affected by the same SharpDX issue that affected the RadWebCam when it is used over Remote Desktop.
A simple test of any series will replicate the issue. If it is being used via Remote Desktop, the series will not render.