Создание линейного графика с powerplot в iPhone - PullRequest
1 голос
/ 11 августа 2011

Я использую powerplot для создания динамического графика в iphone.при просмотре http://www.field -theory.org / article / powerplot / example.html я успешно создал график, но я не знаю, как мне удалить значение dec по умолчанию внутри графика.enter image description here

Я хотел бы создать что-то подобное ниже, что я концептуализирую из mockapps.

float sourceData[7] = {33, 17, 24, 11, 11, 4, 10};
    self.allData = [WSData dataWithValues:[WSData arrayWithFloat:sourceData withLen:7]];
self.allData = [self.allData indexedData];

WSChart *tmp;
tmp = [WSChart linePlotWithFrame:[aView frame]
                                 withData:self.allData
                                 withStyle:kChartLineFilled
                                 withAxisStyle:kCSGrid
                                 withColorScheme:kColorGray
                                 withLabelX:@"Days"
                                 withLabelY:@"Drinks"];
             [aView removeAllPlots];
             [aView addPlotsFromChart:tmp];

[aView scaleAllAxisYD:NARangeMake(-10, 45)];
[aView setAllAxisLocationYD:0];
[aView setAllAxisLocationXD:-0.5];  


WSPlotAxis *axis = [aView getPlotAxis];

[[axis ticksX] setTicksStyle:kTicksLabels];
[[axis ticksY] setTicksStyle:kTicksLabels];
[[axis ticksY] ticksWithNumbers:[NSArray arrayWithObjects:
                                 [NSNumber numberWithFloat:0],
                                 [NSNumber numberWithFloat:10],
                                 [NSNumber numberWithFloat:20],
                                 [NSNumber numberWithFloat:20],
                                 nil]
                     withLabels:[NSArray arrayWithObjects:@"",
                                 @"10%", @"20%", @"30%", nil]];

[axis.ticksX setTickLabelsWithStrings:[NSArray arrayWithObjects:@"Mon", @"Tue", @"Wed",
                                       @"Thur", @"Fri", @"Sat", @"Sun", nil]];



[aView setNeedsDisplay];

любые комментарии приветствуются спасибо:)

enter image description here

1 Ответ

2 голосов
/ 21 марта 2012

Метод linePlotWithFrame:... для WSChart создает два отдельных экземпляра WSPlotAxis в стеке сюжета.Первый экземпляр предназначен только для сетки, второй - для отметок и меток оси.

Метод WSPlotAxis *axis=[aView getPlotAxis] вернет первое представление типа WSPlotAxis, которое изначально не имеет меток тиков.Если вы хотите вручную изменить существующие метки и метки оси, вам нужно получить второй экземпляр, используя

WSPlotAxis *axis = (WSPlotAxis *)[self.chart plotAtIndex:2].view;

вместо WSPlotAxis *axis=[aView getPlotAxis];.

Тогда он будет работать, как ожидалось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...