с ног на голову x_axis - PullRequest
       21

с ног на голову x_axis

1 голос
/ 09 августа 2011

Я работаю с coreplot для создания гистограммы. Гистограмма отображается, но ее вверх дном ... Ось X начинается в верхней части экрана, а не в нижней части экрана ... и даже X- Ось не видна .. Похоже, что бары на графике висят: (.... Как мне изменить ее положение и сделать ее правильной и даже сделать видимой ось X ???

Вот мой код:

- (void)viewDidLoad {
    [super viewDidLoad];
    [self generateDataSamples];

    double xAxisStart = 0;
    double xAxisLength = 14;

    double yAxisStart = 0;
//  double yAxisLength = [[samples valueForKeyPath:@"@max.Y_VAL"] doubleValue];
    double yAxisLength = 190.0;


    CPGraphHostingView *hostingView = [[CPGraphHostingView alloc] initWithFrame:self.view.bounds];
    [self.view addSubview:hostingView];

    CPXYGraph *graph = [[CPXYGraph alloc] initWithFrame:self.view.bounds];
    hostingView.hostedGraph = graph;


    CPXYPlotSpace *plotSpace = (CPXYPlotSpace *)graph.defaultPlotSpace;
    plotSpace.xRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromDouble(xAxisStart)
                                                   length:CPDecimalFromDouble(xAxisLength+1)];

    plotSpace.yRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromDouble(yAxisStart)
                                                   length:CPDecimalFromDouble(yAxisLength+3)];

    CPBarPlot *plot = [[CPBarPlot alloc] initWithFrame:CGRectZero];
    plot.plotRange = [CPPlotRange plotRangeWithLocation:CPDecimalFromDouble(0.0)
                                                 length:CPDecimalFromDouble(xAxisLength-5)];
    plot.barOffset = CPDecimalFromDouble(1.5);
    plot.dataSource = self;


    [graph addPlot:plot];
    [plot release];
    [graph release];
    [hostingView release];
}

Спасибо, U

1 Ответ

0 голосов
/ 10 августа 2011

Добавьте некоторые отступы к рамке области графика, чтобы сделать видимыми оси:

graph.plotAreaFrame.paddingTop = 20.0;
graph.plotAreaFrame.paddingBottom = 50.0;
graph.plotAreaFrame.paddingLeft = 50.0;
graph.plotAreaFrame.paddingRight = 20.0;

Я не уверен, почему график будет отображаться вверх ногами.Имеет ли к суперпредставлению представления хостинга какие-либо преобразования, примененные к нему?

...