我在SciChart for WPF中注意到的潜在问题
进行以下代码更改(参见(1)和(2))
private void ColumnChartExampleViewOnLoaded(object sender, RoutedEventArgs e)
{
var dataSeries = new XyDataSeries<double, double> {SeriesName = "Histogram"};
var yValues = new double[] { 0.1, 0.2, 0.4, 0.8, 1.1, 1.5, 2.4, 4.6, 8.1, 11.7, 14.4, 16.0, 13.7, 10.1, 6.4, 3.5, 2.5, 1.4, 0.4, 0.1};
using (this.sciChart.SuspendUpdates())
{
for (int i = 0; i < yValues.Length; i++)
{
// DataSeries for appending data
dataSeries.Append(i, yValues[i]);
}
this.columnSeries.DataSeries = dataSeries;
this.columnSeries.DataSeries.AcceptsUnsortedData = true; //(1)
}
dataSeries.Append(0, 1); //(2)
this.sciChart.ZoomExtents();
}
即。如果我对已经存在的X val使用Append方法 - UI栏将更改为行。 我不知道它是否是预期的行为,但对于我的情况,我正在更新飞行直方图,并且通常相同的X值具有新的Y值。 结果 - UI行为混淆了...... 我找到了我的案例的解决方法(我使用的是Update方法,因为X和索引对我来说是相同的)所以这只是一个通知。
我不确定你是否会改变这种行为 - 暂时分享我的经验......
答案 0 :(得分:1)
SciChart的列系列会根据您可用的列自动计算数据点的宽度。
如果您有0,1,2,3,4,5,6,7,8,9列...然后在0位添加一个新列,则此计算会变得混乱。
避免这种副作用的方法是:
FastColumnRenderableSeries.UseUniformWidth
和FastColumnRenderableSeries.DataPointWidth
详细了解Column系列在SciChart WPF Documentation page的工作原理。