使用最新版本的SfChart for Xamarin.Forms (16.3.0.36),我遇到了以下问题:与LineSeries相比,ColumnSeries需要大量时间来呈现一个小集合(几条记录的集合超过10秒),而在相同的集合大小下,则不到3秒)。
事实上,使用调试器,我发现加载包含ColumnSeries图表的视图是最耗时的部分,甚至在设置图形数据之前也是如此。我以同样的方式使用LineSeries,而且加载速度要快得多。
对于ColumnSeries,我使用以下代码:
<chart:SfChart x:Name="SumChart1" Margin="5,0,10,0">
<chart:SfChart.PrimaryAxis>
<chart:DateTimeAxis Title="Time" EdgeLabelsDrawingMode="Center"
IntervalType="{Binding IntervalType, Mode=TwoWay}"
x:Name="SumAxis" />
</chart:SfChart.PrimaryAxis>
<chart:SfChart.SecondaryAxis>
<chart:NumericalAxis Title="{Binding SelectedVariableForGraph.Name}" />
</chart:SfChart.SecondaryAxis>
<chart:ColumnSeries
x:Name="SumSeries"
Label="Sum"
XBindingPath="Key"
YBindingPath="Value"
ItemsSource="{Binding SumGraph, Mode=TwoWay}"
ListenPropertyChange="True"
>
<chart:ColumnSeries.ColorModel>
<chart:ChartColorModel>
<chart:ChartColorModel.CustomBrushes>
<Color>Orange</Color>
</chart:ChartColorModel.CustomBrushes>
</chart:ChartColorModel>
</chart:ColumnSeries.ColorModel>
</chart:ColumnSeries>
</chart:SfChart>我只对修复Android版本感兴趣。我已经用HAXM Android模拟器和小米米A1设备测试了这个问题,结果相似(该设备似乎速度更快)。
在寻找这个问题的答案时,我发现"SfChart默认将iOS和iOS中的列系列呈现为FastColumn系列“(https://www.syncfusion.com/forums/138607/fastcolumnbitmapseries-on-sfchart-xforms),但这在我的情况下似乎行不通(对于Android)。
我遗漏了什么吗?
编辑:我正在使用一个SfTabItem显示一个图表(我有3个ColumnSeries和1个系列图表在页面中)。X轴为DateTime型,Y轴为双型。这个细节似乎引起了这个问题。
发布于 2018-12-08 16:32:05
我们无法复制报告的问题在我们的结尾,我们已经准备了一个样本,可以从下面的链接下载样本。
示例
由于我们不知道您的确切应用程序场景,所以我们无法在最后重现此问题,所以请您根据您的应用程序以及复制过程修改示例来恢复我们的功能。这将有助于我们进一步研究,并为您提供一个更好的解决办法。
https://stackoverflow.com/questions/53658038
复制相似问题