CorePlot,更改x轴上的刻度标记数(以避免过多的刻度线)

时间:2018-03-22 13:37:37

标签: xcode graph core-plot

我的绘图范围是160.5,绘图结果有2条大的水平线......实际上只是刻度线和刻度标记名称压缩160几次,给出了2条大线的外观。

我想知道如何更改主刻度标记,以便在x轴长度之间可能有4-5个刻度。

我附上了情况图片,并在下方添加了一些代码(如果有帮助......或者您需要更多信息,我会提供它。)我使用的是XCode 9.2 iOS 11.2。

Graph image

#import "ViewController.h"

@interface ViewController ()

@property (nonatomic, readwrite, strong) CPTGraph *graph;
@property (nonatomic, readwrite, strong, nonnull) CPTMutableNumberArray *plotData;
@property (nonatomic, readwrite, strong) CPTScatterPlot* plot;

@end

@implementation ViewController

@synthesize plotData;

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.graph = [[CPTXYGraph alloc] initWithFrame:self.graphView.bounds];
    [self.graph applyTheme:[CPTTheme themeNamed:kCPTSlateTheme]];

    self.graphView.hostedGraph = self.graph;

    CPTXYPlotSpace *plotSpace = (CPTXYPlotSpace *)self.graph.defaultPlotSpace;

    [plotSpace setYRange: [CPTPlotRange plotRangeWithLocation:@(-2.0) length:@(6.00)]];
    [plotSpace setXRange: [CPTPlotRange plotRangeWithLocation:@(-30.5) length:@(160.5)]];

    self.plot = [[CPTScatterPlot alloc] initWithFrame:self.graphView.frame];

    self.plot.dataSource = self;

    [self.graph addPlot:self.plot toPlotSpace:self.graph.defaultPlotSpace];

}

// bunch of other methods

@end

2 个答案:

答案 0 :(得分:0)

对于那里的任何人,直接更改源文件(CorePlot.xcodeproj下拉选项下的文件夹)。具体来说,我更改了Stocks Theme x轴对象中的一些参数。

答案 1 :(得分:0)

默认标签政策会在每个单元上放置一个主刻度标记和标签,因此您尝试将160个标签压缩到一个非常小的空间中。您需要调整x轴的标签属性。您需要使用labelingPolicypreferredNumberOfMajorTicks和/或minorTicksPerInterval的某种组合,具体取决于您想要的外观。