我正在使用核心图来制作这个散点图。有没有办法让我的图表中的所有点都显示在x轴上方?我的图表中没有负值。我的图表中的所有值都是从60.00到64.00。现在我的图表看起来像这样
但有没有办法可以确保在x轴下方和y轴左侧没有显示数据点。
答案 0 :(得分:0)
如果您确切知道点的位置,则可以设置轴的 orthogonalCoordinateDecimal 值,以便在第一个象限内找到所有点。此代码取自Plot_Gallery_iOS示例项目中的DatePlot.m:
//Found in renderInLayer
CPTXYAxisSet *axisSet = (CPTXYAxisSet *)graph.axisSet;
CPTXYAxis *x = axisSet.xAxis;
x.majorIntervalLength = CPTDecimalFromFloat(oneDay);
/* Change the 2.0 to another value and the x axis will intersect the y axis at y = newVal*/
x.orthogonalCoordinateDecimal = CPTDecimalFromDouble(newVal);
CPTXYAxis *y = axisSet.yAxis;
y.majorIntervalLength = CPTDecimalFromDouble(0.5);
y.minorTicksPerInterval = 5;
/* Change the oneDay to another value and the y axis will intersect the x axis at x = newVal*/
y.orthogonalCoordinateDecimal = CPTDecimalFromFloat(oneDay); //oneDay * 2
如果您获得动态数据,可以随时更新。只需参考您需要的轴(图形 - > axisSet - > x / y轴),然后使用新值更新它。
答案 1 :(得分:0)
设置垂直绘图范围,使其从0开始,而不是数据集中的最低值:
...
CPTPlotRange *plotRange = [CPTPlotRange plotRangeWithLocation: CPTDecimalFromDouble(0)
length: CPTDecimalFromDouble(maxValue)];
plotSpace.globalYRange = plotRange;
plotSpace.yRange = plotRange;
...
maxValue是数据集中的最大值。