【发布时间】:2014-09-16 09:40:04
【问题描述】:
我从 Xamarin 组件商店中获得了该组件,并成功地制作了折线图和条形图,但在制作饼图时遇到了一点困难。
饼图代码:
protected override void OnElementChanged(VisualElementChangedEventArgs e)
{
base.OnElementChanged(e);
var view = NativeView;
var graph = new CPTXYGraph
{
Title = "Pie Chart",
TitleTextStyle = new CPTMutableTextStyle
{
FontSize = 50,
Color = CPTColor.GreenColor,
},
};
var plotSpace = (CPTXYPlotSpace)graph.DefaultPlotSpace;
plotSpace.AllowsUserInteraction = true;
graph.ApplyTheme(CPTTheme.ThemeNamed((NSString)"Plain Black"));
graph.PlotAreaFrame.BorderLineStyle.LineColor = CPTColor.BlackColor;
var plot = new CPTPieChart
{
DataSource = new PiePlotDataSource()
};
graph.AddPlot(plot);
view.AddSubview(new CPTGraphHostingView
{
HostedGraph = graph
});
}
数据源代码:
class PiePlotDataSource : CPTPieChartDataSource
{
public override int NumberOfRecordsForPlot(CPTPlot plot)
{
return DummyData.Data.Length;
}
public override NSNumber NumberForPlot(CPTPlot plot, CPTPlotField forFieldEnum, uint index)
{
return forFieldEnum == CPTPlotField.PieChartWidth ? DummyData.Data[index] : index;
}
}
我得到的只是一个白色的空白屏幕,标题放错了位置,无法缩放或滚动(我为大图道歉,我不知道如何调整它的大小):
折线图和条形图以类似的方式实现,它们工作正常。我已经设置了断点并检查它是否在代码的任何地方停止,但执行似乎也工作正常。
它没有做的事情是 PiePlotDataSource 方法没有被调用。我已经验证了它们在折线图和条形图中被调用,但由于某种原因,它们没有在此处被调用。
由于文档太少,我花了几天时间才得到一些适用于 Android 和 iOS 的通用图表。这是我需要做的最后一张图表,如果有任何帮助,我将不胜感激。
【问题讨论】:
标签: ios xamarin.ios xamarin core-plot pie-chart