Конец линии сетки диаграммы шиноби в точке данных вместо того, чтобы идти полностью к вершине диаграммы

Я рисую диаграмму в приложении для iOS и хочу, чтобы линии сетки начинались по оси x, но заканчивались точкой данных, а не расширялись до самого верха.

Это возможно?

Заранее спасибо.

Северная Каролина

1 ответ

Решение

Отказ от ответственности: я работаю на ShinobiControls

Платформа shinobicharts в настоящее время не поддерживает это как готовую функцию.

Обходной путь может существовать все же. Вы можете добавить свои собственные подвиды сетки, используя SChartAxis метод pixelValueForDataValue: чтобы определить, где в координатном пространстве области графика вы должны нарисовать вертикальную линию до заданной точки данных.

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

  • Добавьте вид холста позади или перед диаграммой (в зависимости от того, какой эффект вы хотите). Затем используйте ваши координаты, чтобы нарисовать линии сетки, используя CoreGraphics или другой метод рисования.
  • Создайте отдельные UIViews, каждый из которых представляет линию сетки, используя ваши координаты, и добавьте их позади или перед диаграммой.

С этим приемом следует помнить одну вещь: линии сетки не обновляются автоматически при панорамировании и масштабировании. Для этого вам необходимо переопределить один из методов делегата диаграммы, которые уведомят вас об изменениях диапазона и обновят нарисованные линии сетки, чтобы они соответствовали новым позициям точек данных.

Другой потенциальный обходной путь может заключаться в использовании ряда столбцов для имитации линий сетки. Если вы создадите серию столбцов и подадите в нее те же точки данных, что и в исходной серии, это приведет к тому, что столбцы получат значение y для каждой точки данных. Вы можете использовать собственность interSeriesSetPadding на SChartAxisStyle чтобы столбцы казались очень тонкими.

Я надеюсь, что информация полезна!

Другие вопросы по тегам