gpt4 book ai didi

ios - 核心图条形图 Y 轴问题

转载 作者:行者123 更新时间:2023-11-29 10:58:50 24 4
gpt4 key购买 nike

我正在尝试制作一个带有核心图的条形图。我无法使 y 轴正确缩放或使刻度线位于正确的位置。我最大的问题是,如果我设置:

CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *) graph.defaultPlotSpace;
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDEcimalFromFloat(0) length:CPTDecimalFromFloat(max_value);

并且 max_value 大于 10 时,图表加载所花费的时间不合理。例如,我需要 max_value 大约为 1000 以显示所有值的顶部,但是当我将其设置为 1000 时,加载屏幕需要超过 15 秒。但如果我将它设置为 10,我的条形图会占据整个屏幕,你看不到顶部。

这是处理此问题的代码的其余部分。任何建议将不胜感激。

CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *) graph.defaultPlotSpace;
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(0)
length:CPTDecimalFromFloat(1000)];
[plotSpace scaleToFitPlots:[NSArray arrayWithObjects:_liftOffPlot,_sideLeanPlot,_forwardLeanPlot,_crossLegsPlot,nil]];
graph.plotAreaFrame.borderLineStyle = nil;


axisSet.yAxis.title = @"times completed";
axisSet.yAxis.titleTextStyle = axisTitleStyle;
axisSet.yAxis.titleOffset = -25.0f;
axisSet.yAxis.axisLineStyle = nil;

axisSet.yAxis.labelingPolicy = CPTAxisLabelingPolicyAutomatic;
axisSet.yAxis.preferredNumberOfMajorTicks = 10;
axisSet.yAxis.minorTicksPerInterval = 1;
axisSet.yAxis.minorTickLocations = nil;
axisSet.yAxis.majorTickLocations = nil;
axisSet.yAxis.title = @"times completed";
axisSet.yAxis.titleTextStyle = axisTitleStyle;
axisSet.yAxis.titleOffset = -25.0f;
axisSet.yAxis.axisLineStyle = nil;

axisSet.yAxis.majorIntervalLength = CPTDecimalFromString(@"100");
axisSet.yAxis.orthogonalCoordinateDecimal = CPTDecimalFromString(@"0");

axisSet.yAxis.visibleRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromInt(0) length:CPTDecimalFromInt(1000)];
axisSet.yAxis.gridLinesRange = axisSet.yAxis.visibleRange;

最佳答案

正如我似乎在 xcode 的大部分内容中发现的那样,一切都与您放置代码的位置有关。如果我在设置之前有 CPTPlotRange:PlotRangeWithLocation:Length,那真的很慢而且有问题。相反,如果我在为轴设置其他值后突然将它添加到我的代码末尾,则只有非常小的延迟。实际上,我最初是从一个教程中获得这段代码并对其进行了修改以满足我的需要,但我猜该教程没有相同的延迟,因为数据的长度要短得多。

所以我为解决这个问题所做的一切就是在我的轴设置之后而不是之前放置以下代码;

CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *) graph.defaultPlotSpace;
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(0)
length:CPTDecimalFromFloat(1000)];
[plotSpace scaleToFitPlots:[NSArray arrayWithObjects:_liftOffPlot,_sideLeanPlot,_forwardLeanPlot,_crossLegsPlot,nil]];
graph.plotAreaFrame.borderLineStyle = nil;

关于ios - 核心图条形图 Y 轴问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16993635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com