2013-03-14 3 views
2

Я пытаюсь привыкнуть к диаграммам Shinobi, разработанным для iOS. Я загрузил пробную версию на то же самое и попытался построить некоторые образцы диаграмм, используя это. Графики выглядят неплохо в демонстрационных приложениях. Но я заметил, что при использовании класса SChartColumnSeries для построения диаграммы диаграммы ширина баров настраивается в соответствии с фреймом, доступным для построения графика. Я хочу, чтобы он был исправлен (скажем, 20 пикселей), независимо от количества присутствующих баров, и если требуемая ширина больше, чем того, что назначено (при назначении кадра диаграмме), тогда будет отображаться только какая-то часть диаграммы, и пользователь может прокручивать диаграмму для просмотра оставшихся баров (это возможно в Core Plot). Как я могу достичь этого, используя диаграммы Shinobi?Как установить ширину полосы в фиксированное значение в диаграммах Shinobi?

ответ

1

Это возможно с Shinobi, но это не простой случай, когда я устанавливаю свойство фиксированной ширины, которого я боюсь. Я просто пытался это сделать, но это не слишком сложно!

Мой совет должен был бы создать диаграмму, как это:

chart = [[ShinobiChart alloc] initWithFrame:self.view.bounds]; 
[chart setAutoresizingMask:UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth]; 
[chart setDatasource:d]; 

[chart setXAxis:[SChartNumberAxis new]]; 
[chart setYAxis:[SChartNumberAxis new]]; 
[[chart xAxis] setEnableGesturePanning:YES]; 
[[chart xAxis] setEnableGestureZooming:NO]; 

[chart.xAxis setDefaultRange:[[SChartNumberRange alloc] initWithMinimum:@5 andMaximum:@10]]; 

Наиболее важной частью является последние 3 строки. Уменьшая масштаб, вы позволяете вашим диаграммам иметь фиксированный уровень масштабирования, что означает, что полосы остаются одинаковой ширины. Вы можете включить панорамирование, чтобы пользователи могли просматривать разные полосы.

Последняя строка устанавливает диапазон по умолчанию. Здесь я только установил его значения от 5 до 10. Это означает, что на диаграмме отображаются значения от 5 до 10 по оси x.

Выполнение вышеуказанного означает, что ваши столбцы будут иметь фиксированную ширину! Возможно, вам придется выполнить некоторую настройку и/или вычисление в зависимости от того, сколько у вас данных, чтобы узнать, к чему вы должны установить свой диапазон по умолчанию. Если они, например, являются переменными, вам нужно будет учитывать количество точек данных, отступы между столбцами и междоменное заполнение и количество доступных вами пикселей).

Я понимаю, что это довольно упрощенный ответ, но он должен дать вам хорошую отправную точку!

+0

Спасибо мужчине ... попробуем это. Я боюсь, что демо с картой Shinobi не раскрывает всех его особенностей. – Yogi

 Смежные вопросы

  • Нет связанных вопросов^_^