首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SciChart: ColumnChart - DataSeries.Append

SciChart: ColumnChart - DataSeries.Append
EN

Stack Overflow用户
提问于 2018-05-25 19:56:25
回答 1查看 263关注 0票数 1

我在WPF的SciChart中注意到的一个潜在问题

  • 以SDK中ColumnChart的标准示例为例(2D图表-列图)
  • 生成并运行;结果如下:

  • 进行以下代码更改(见(1)和(2)) 私有ColumnChartExampleViewOnLoaded(对象发送者,RoutedEventArgs e) { var dataSeries =新XyDataSeries {SeriesName =“直方图”};var yValues =新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};使用(this.sciChart.SuspendUpdates()) { for (int i= 0;i< yValues.Length;i++) { // DataSeries作为附加数据dataSeries.Append(i,yValuesi);} this.columnSeries.DataSeries = dataSeries;//(2) this.sciChart.ZoomExtents();}
  • 其结果是:

也就是说,如果我对已经存在的X使用附加方法,则UI条将更改为行。我不知道这是否是预期的行为,但就我的情况而言,我正在动态更新直方图,而且通常相同的X值具有新的Y值。结果- UI行为混淆了.我为我的情况找到了解决办法(我正在使用Update方法,因为X和index对我的情况是一样的),所以这只是一个注意事项。

我不确定你会不会改变行为-只是分享我的经验.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-28 11:20:32

科学图表的列系列根据可用的列自动计算数据点的宽度。

如果列为0,1,2,3,4,5,6,7,8,9 ...then在0位置添加了一个新列,则此计算将陷入混乱。

避免这种副作用的方法有:

  • 更新项,而不是添加具有重叠值的新列。
  • 使用属性FastColumnRenderableSeries.UseUniformWidthFastColumnRenderableSeries.DataPointWidth重写列宽度计算
  • (高级)通过重写GetDataPointWidth()方法重写列宽度计算。

了解更多列系列如何在SciChart WPF文档页面上工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50536048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档