Plot 在绘图空间之间切换

Plot 在绘图空间之间切换,plot,core-plot,scatter-plot,Plot,Core Plot,Scatter Plot,场景:五个时段的五张图{3M、6M、1Y、2Y和3Y},每个时段都有各自的(1-2)散点图;共享相同的y范围(值)。 每个时段都有不同的x范围和标签策略。 例如,可以有固定策略或位置策略;又一个没有。 X范围似乎是不可变的/打印空间因此,我正在考虑使用特定的xRanges和标记策略创建并行打印空间。 我研究了绘图空间与x轴和绘图的关系: 图形轴也指定给绘图空间。您也需要交换轴。通过始终添加和删除绘图和轴,您将获得相对较大的性能损失 正如您所观察到的,绘图范围是不可变的。这只是意味着不能更

场景:五个时段的五张图{3M、6M、1Y、2Y和3Y},每个时段都有各自的(1-2)散点图;共享相同的y范围(值)。
每个时段都有不同的x范围和标签策略。
例如,可以有固定策略或位置策略;又一个没有。

X范围似乎是不可变的/打印空间
因此,我正在考虑使用特定的xRanges和标记策略创建并行打印空间。
我研究了绘图空间与x轴和绘图的关系:


图形轴也指定给绘图空间。您也需要交换轴。通过始终添加和删除绘图和轴,您将获得相对较大的性能损失

正如您所观察到的,绘图范围是不可变的。这只是意味着不能更改现有范围,而不是不能设置新范围。创建一个新的
CPTPlotRange
对象,或者创建一个现有对象的可变副本

无论何时要更改打印比例,都需要执行以下操作。这些都可以就地更改,而无需删除和替换图形的主要部分

  • 如上所述更改绘图范围
  • 更新轴的标签策略和相关属性
  • 在绘图上调用
    -reloadData
    ,以加载新数据

  • 我尝试用新的xRange替换旧的xRange:
    CPTPlotRange*myXRange=[[CPTPlotRange alloc]initWithLocation:CPTDecimalFromDouble(0.0)length:CPTDecimalFromUnsignedInteger(1)];plotSpace.xRange=myXRange;[myXRange发布]…使用“1”来查看我是否有所不同。但是,唉,我看不出范围有什么不同;即使在做了一个图形重新加载数据之后。这是默认范围。试试别的。:-)你能说得更具体些吗?我想我可以用我尝试过的非默认xRange替换plotSpace的xRange。也就是说,我创建了一个范围@location&length;然后将其指定给当前(事实上的)绘图空间。我应该怎么做?默认绘图范围的位置为零(0)和长度(1)。如果使用相同的值设置新范围,则不会发生任何更改。您可以编辑您的问题并添加一些代码吗?这将有助于了解您如何配置绘图空间和轴,以及如何更改新范围。奇怪的是,我昨天提交了它,并“暂停”供同行审查。看来他们没有通知我就拒绝了。今天晚些时候我将重新措辞并重试。
    
    [myGraph removePlot:(CPTPlot *)oldPlot];
    [myGraph addPlot:(CPTPlot *)plot toPlotSpace:(CPTPlotSpace *)space];