gpt4 book ai didi

iphone - Coreplot iphone设置正确的轴和交叉点

转载 作者:行者123 更新时间:2023-12-03 20:07:33 24 4
gpt4 key购买 nike

我正在 iPhone 上使用 CorePlot。我可以做一个简单的图表。但我想做的是让 y 轴从 0 到 100,x 轴从 1998 年到 2007 年。如果可能的话,我想保留这个数字(不是基于自定义文本的标签)。

问题是,当您设置这些轴时:

// We modify the graph's plot space to setup the axis' min / max values.
float xAxisMin = 1998
float xAxisMax = 2007;
float yAxisMin = 0;
float yAxisMax = 100;
CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)graph.defaultPlotSpace;
plotSpace.xRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(xAxisMin) length:CPTDecimalFromFloat(xAxisMax - xAxisMin)];
plotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(yAxisMin) length:CPTDecimalFromFloat(yAxisMax - yAxisMin)];

// Modify the graph's axis with a label, line style, etc.
CPTXYAxisSet *axisSet = (CPTXYAxisSet *)graph.axisSet;

axisSet.xAxis.title = @"";
axisSet.xAxis.titleTextStyle = textStyle;
axisSet.xAxis.titleOffset = 10.0f;
axisSet.xAxis.axisLineStyle = lineStyle;
axisSet.xAxis.majorTickLineStyle = lineStyle;
axisSet.xAxis.minorTickLineStyle = lineStyle;
axisSet.xAxis.labelTextStyle = textStyle;
axisSet.xAxis.majorIntervalLength = CPTDecimalFromFloat(1000.0f);
axisSet.xAxis.labelOffset = 1.0f;
axisSet.xAxis.minorTicksPerInterval = 1;
axisSet.xAxis.minorTickLength = 5.0f;
axisSet.xAxis.majorTickLength = 7.0f;

您会得到一个图表,显示 y 轴从 0 到 100,然后 x 轴从 1998 年左右开始向右。即,它们的图不会在 X: 1998 y: 0 处交叉。有没有办法强制它这样做?据我所知,我必须制作一个 x 轴范围为 0-2007、y 轴范围为 0-100 的图表。然后我可以告诉它剪掉 0-1997 的片段并移动以使该片段位于 0 吗?

另一种方法是使用自定义点。我试过了。但似乎存在一个问题,即它没有在图表线上显示刻度线。例如,如果我按照源中的示例进行操作,我可以看到 1998、1999、2000 等,但没有 |线与 x 轴交叉。就像刻度线不会绘制一样,因为我使用的是自定义线。

感谢您的帮助,

-大卫

最佳答案

使用orthogonalCooperativeDecimal属性:

axisSet.xAxis.orthogonalCoordinateDecimal = CPTDecimalFromFloat(yAxisMin);
axisSet.yAxis.orthogonalCoordinateDecimal = CPTDecimalFromFloat(xAxisMin);

关于iphone - Coreplot iphone设置正确的轴和交叉点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9103293/

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