0

场景:五个时期的五个图表 {3M, 6M, 1Y, 2Y & 3Y},每个都有自己的 (1-2) 散点图;共享相同的 y 范围(值)。
每个时期都有不同的 x 范围和标签政策。
例如,可以有一个修复或位置策略;另一个没有。

X-Range 似乎是不可变的 /plot-space。
因此,我正在考虑使用其特定的 xRanges 和标签策略创建平行的绘图空间。
我研究了绘图空间与 x.axis(s) & plot(s) 的关系:

图 <=== {NSMutableArray *plotSpaces}
x.axis/plot-space。
情节/情节空间

所以我相信我可以:
1)创建一个情节空间。
2) 将绘图空间分配给特定绘图、x 轴和 xRange。
3)在图表中添加或删除图表。
4) 重新绘制图形。

所以当用户选择一个周期/绘图空间时,我需要做的就是:用周期图替换任何现有的图,这将导致图表绘制图并显示相应的 x 轴(Y 轴是常见的)?

[myGraph removePlot:(CPTPlot *)oldPlot];
[myGraph addPlot:(CPTPlot *)plot toPlotSpace:(CPTPlotSpace *)space];

...我有点迷路了。

?

4

1 回答 1

0

轴也分配给绘图空间。你也需要换掉轴。通过一直添加和删除图和轴,您会受到相对较大的性能影响。

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

每当你想改变情节比例时,你需要做以下事情。这些都可以就地更改,而无需删除和替换图表的主要部分。

  1. 如上所述更改绘图范围。
  2. 更新轴的标注策略和相关属性。
  3. 调用-reloadData绘图以加载新数据。
于 2012-10-26T01:17:13.153 回答