我有一个Y轴和X轴在默认绘图空间上绘制的图形以及主绘图,然后我有辅助绘图的单独绘图空间,每个绘图空间都有自己的Y轴(X轴是相同的所有情节)。
我正在实现按钮来打开和关闭辅助图,我希望这基本上包括整个绘图空间(绘图,自定义y轴和自定义y轴的标签)。对于绘图空间似乎没有任何“隐藏”属性,并且绘图和轴都具有“隐藏”属性,将这些设置为“是”会使轴标签可见。
我猜一种方法可能是从图中完全删除绘图空间和绘图,但这感觉不直观。
答案 0 :(得分:6)
在要隐藏的轴上将hidden
设置为YES
。如果您使用自定义标签(标签政策CPTAxisLabelingPolicyNone
),只需将axisLabels
设置为nil
即可。如果希望它们重新出现,请设置新标签。对于其他标签政策,请将labelFormatter
设置为nil
以隐藏标签,并在您希望它们可见时指定有效的格式化程序。
答案 1 :(得分:6)
您可以将所有轴设置为在axisSet级别隐藏,也可以通过为轴指定CPTAxisLabelingPolicyNone的标签策略来隐藏标签。这个解决方案对我很有用:
CPTXYAxisSet *axisSet = (CPTXYAxisSet *) self.graphHostingView.hostedGraph.axisSet;
axisSet.hidden = YES;
CPTAxis *y = axisSet.yAxis;
y.labelingPolicy = CPTAxisLabelingPolicyNone;
CPTXYAxis *x = axisSet.xAxis;
x.labelingPolicy = CPTAxisLabelingPolicyNone;
答案 2 :(得分:5)
您也可以隐藏所有标签
CPTAxis *axis = someAxis;
hidden = YES;
axis.hidden = hidden;
for (CPTAxisLabel *axisLabel in axis.axisLabels) {
axisLabel.contentLayer.hidden = hidden;
}