我在iPad应用程序中使用coreplot库0.9。
在这里,我使用了一个固定的y范围(在y方向上不滚动)的散点图,即绘图空间范围=全局范围(请参阅下面的源代码)。
当新数据可用(MOC观测)时,我将数据添加到绘图的数据数组(散点图),确定所需的新y范围(数据数组中的最小/最大值)并重新加载整个绘图。
如果新数据的值大于其他值,则绘图显示它超出界限,但绘图空间已适应新范围。散点图中的新数据未在界限中显示
但是:
如果MOC变化不是由于插入新的数据(大于旧的),而是由于删除数据(其中有样地数据阵列的最大值),其结果是完全的。绘图使用全范围 - >范围适应(缩小绘图空间范围)发生。为什么这不适用于其他方向(增加绘图空间范围)呢?
我真的被困在这里,如果有人能帮助我,我会很高兴。谢谢。
-(void) mocChangeNotification:(NSNotification *)notification
{
...
[self performSelectorOnMainThread:@selector(refresh) withObject:nil waitUntilDone:NO];
}
- (void) setYAxisValueRange
{
...
myOwnPlotSpace.yRange = [CPTPlotRange plotRangeWithLocation:CPTDecimalFromFloat(minDisplay)
length:CPTDecimalFromFloat(maxDisplay)];
// disable "scrolling" in y-direction
myOwnPlotSpace.globalYRange = myOwnPlotSpace.yRange;
}
- (void) refresh
{
[dataForPlot removeAllObjects];
[self preparePlotData]; // put data into plot's data array
[self setYAxisValueRange]; // looks for min/max values in data
[myPlot reloadData];
}
这些屏幕截图显示的情况(因为我是新来的堆栈溢出,我还没有允许张贴图片):http://gallery.me.com/timoseeberger#100038&view=grid&bgcolor=black&sel=5
1)地块的初始显示(一切都很好):
文件:screenshot_graph_initial
2)I添加新的值(200)来绘制 - >显示出界(上端)
文件:screenshot_graph_adding200
3)I从情节删除值200和150 - >积显示完全适应
文件:screenshot_graph_deleting150
4)我添加新的值(40)来绘制 - >显示出界(下端)
file:screenshot_graph_adding40
谢谢埃里克,指出这一点给我。这实际上是我的代码中的一个错误(导致绘图区太大)。但即使采用这种修复方法,问题仍然存在。我将添加链接到显示问题的屏幕截图。 – Timo
只要我有必要的特权,我会投你的答案。 – Timo
如果我已经满意地回答了您的问题,您可以“接受”答案。 –