核心情节:如何隐藏情节,轴和标签?

Set*_*dor 8 core-plot ios

我有一个图表,在默认绘图空间上绘制了Y轴和X轴以及主绘图,然后我有辅助绘图的单独绘图空间,每个绘图空间都有自己的Y轴(所有绘图的X轴都相同) .

我正在实现按钮来打开和关闭辅助图,我希望这基本上包括整个绘图空间(绘图,自定义y轴和自定义y轴的标签).对于绘图空间似乎没有任何"隐藏"属性,并且绘图和轴都具有"隐藏"属性,将这些设置为"是"会使轴标签可见.

  • 完全隐藏绘图空间内容的最佳方法是什么,而不会导致重绘不必要?

我猜一种方法可能是从图中完全删除绘图空间和绘图,但这感觉不直观.

Eri*_*och 6

设置hiddenYES要隐藏的轴.如果您使用自定义标签(标签政策CPTAxisLabelingPolicyNone),只需将其设置axisLabelsnil.如果希望它们重新出现,请设置新标签.对于其他标签政策,设定labelFormatternil隐藏的标签,当你希望他们看到分配一个有效的格式.


Dan*_*Dan 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;
Run Code Online (Sandbox Code Playgroud)


sto*_*roj 5

您也可以隐藏所有标签

CPTAxis *axis = someAxis;
hidden = YES;

axis.hidden = hidden;
for (CPTAxisLabel *axisLabel in axis.axisLabels) {
    axisLabel.contentLayer.hidden = hidden;
}
Run Code Online (Sandbox Code Playgroud)