1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/iOS_wanglu-AAChartKit-Swift

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
TRADITIONAL-CHINESE-README.md 19 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 02.12.2024 10:49 9759987

AAInfographics

AAInfographics — это версия AAChartKit на языке Swift, основанная на популярном открытом фреймворке для создания графиков и диаграмм Highcharts. Это объектно-ориентированный, простой в использовании и очень красивый инструмент для создания диаграмм. Возможно, это самый изысканный сторонний фреймворк для iOS с открытым исходным кодом (✟ я клянусь атеизмом перед Богом 🖐, я не говорю ерунды ✟).

Особенности

  1. Дружелюбная среда и совместимость. Подходит для iOS 8 и выше, поддерживает ARC, язык Swift и простую настройку. Также доступна версия Objective-C AAChartKit.
  2. Мощные функции и разнообразие типов. Поддерживает столбчатые диаграммы, линейные диаграммы, гистограммы, точечные диаграммы, круговые диаграммы, лепестковые диаграммы, радарные диаграммы и другие типы диаграмм (всего более 20 видов).
  3. Интерактивные графики. Имеет чёткие и подробные пользовательские интерактивные элементы управления, а также изящные и элегантные эффекты анимации графиков. Существует более 30 различных эффектов анимации графиков на выбор.
  4. Поддержка жестов масштабирования. Поддерживает масштабирование и перетаскивание диаграмм, типы масштабирования см. в AAInfographics. Масштабирование по умолчанию отключено.
  5. Минимализм. В AAInfographics используется формула минимализма: AAChartView + AAChartModel = Chart. В рамках этого фреймворка для визуализации данных соблюдается этот принцип: «один график, одна модель».
  6. Синтаксис цепочки. Поддерживается синтаксис цепочки, аналогичный Masonry. Можно настроить экземпляр объекта модели AAChartModel в одной строке кода.
  7. Простота и удобство. Требуется всего пять строк кода, чтобы завершить весь процесс создания диаграммы (при использовании синтаксиса цепочки для настройки экземпляра объекта модели AAChartModel, независимо от того, сколько строк кода вы пишете, теоретически это считается одной строкой). 😜😜😜
  8. Поддержка событий касания. Поддерживаются прослушивание событий взаимодействия пользователя, реализация взаимодействия между двумя таблицами или даже более сложными пользовательскими эффектами взаимодействия. Подробности см. в разделе «Поддержка прослушивания событий касания пользователя и событий скольжения одним пальцем»

Скриншоты

## Установка

Использование CocoaPods (рекомендуется)

  1. Добавьте строку
pod 'AAInfographics', :git => 'https://github.com/AAChartModel/AAChartKit-Swift.git'

в ваш файл Podfile.

  1. В терминале выполните команду pod install или pod update.
  2. Импортируйте заголовочный файл AAInfographics.

Ручная установка

  1. Скачайте Demo AAInfographicsDemo.
  2. Перетащите папку с именем AAInfographics из Demo в свой проект.

Использование

  1. Создайте представление AAChartView
        CGFloat chartViewWidth  = self.view.frame.size.width
        CGFloat chartViewHeight = self.view.frame.size.height
        aaChartView = AAChartView()
        aaChartView?.frame = CGRect(x:0,y:0,width:chartViewWidth,height:chartViewHeight)
        // Устанавливаем высоту содержимого aaChartView
        // aaChartView?.contentHeight = self.view.frame.size.height
        self.view.addSubview(aaChartView!)
  1. Настройте модель представления AAChartModel
  • Цепочка программирования для настройки свойств объекта модели AAChartModel.
    let chartModel = AAChartModel()
            .chartType(.column)//тип диаграммы
            .title("Погода в городе")//заголовок диаграммы
            .subtitle("18 сентября 2020 года")//подзаголовок диаграммы
            .inverted(false)//перевёрнутая диаграмма
            .yAxisTitle("Градусы Цельсия")//название оси Y
            .legendEnabled(true)//включать ли легенду (нижняя часть диаграммы с интерактивными точками)
            .tooltipValueSuffix("градусы Цельсия")//суффикс значения всплывающей подсказки
            .categories(["Янв", "Фев", "Мар", "Апр", "Май", "Июн",
                         "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"])
            .colorsTheme(["#fe117c","#ffc069","#06caf4","#7dffc0"])//тема цветов
            .series([
                AASeriesElement()
                    .name("Токио")
                    .data([7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]),
                AASeriesElement()
                    .name("Нью-Йорк")
                    .data([0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]),
                AASeriesElement()
                    .name("Берлин")
                    .data([0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]),
                AASeriesElement()
                    .name("Лондон")
                    .data([3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]),
                    ])
  1. Нарисуйте график (после создания экземпляра объекта AAChartView, вызовите этот метод для первого рисования графика).
    /*Объект диаграммы вызывает объект модели диаграммы для рисования диаграммы*/
    aaChartView?.aa_drawChartWithChartModel(aaChartModel)

🌹🌹🌹 Всё, задача по рисованию графиков выполнена!!! Вы получите желаемый график!!!

Обновление графика

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

  • Просто обновите данные графика series (рекомендуется использовать этот метод после завершения первого рисования графика и последующего обновления данных графика)
    /*Обновляются только данные серии графика, без изменения других данных графика*/
    aaChartView?.aa_onlyRefreshTheChartDataWithChartModelSeries(chartModelSeriesArray)
  • Обновите другие свойства графика, кроме series (рекомендуется использовать этот метод после завершения первого рисования графика и последующего обновления свойств графика. Обратите внимание, что если вам нужно только обновить данные, рекомендуется использовать вышеуказанный метод 👆 aa_onlyRefreshTheChartDataWithChartModelSeries)
    /*Обновление

В этом тексте не удалось перевести некоторые фрагменты кода на русский язык. Это связано с тем, что в исходном тексте использовались специфические термины и конструкции, которые невозможно точно передать на русском языке. Данный фрагмент текста написан на языке Swift.

Текст представляет собой документацию к библиотеке для работы с диаграммами и графиками AAChartModel. В нём описывается функционал библиотеки, перечисляются поддерживаемые типы графиков, доступные стили оформления и настройки отображения. 

В запросе нет кода или технических терминов, требующих перевода. Текст переведён полностью.

Вот перевод фрагмента:

«... вы можете настроить плавающую подсказку для графика следующим образом:

```swift
this.y + ' </b> Dollars ';
}
""")
            .valueDecimals(2)//устанавливаем точность до определённого знака после запятой//устанавливаем точность до определённого знака после запятой
            .backgroundColor("#000000")
            .borderColor("#000000")
            .style(
                AAStyle()
                    .color("#FFD700")
                    .fontSize(12)
                    )
          

Это позволит создать специальный стиль плавающей подсказки для диаграммы. Визуальный эффект пользовательской плавающей подсказки показан ниже 👇 Пользовательский стиль всплывающей подсказки

Поддержка добавления функции разделения диапазона значений ⚔

  • Добавление цветной полосы🎀 для разделения диапазона значений График с цветными полосами

  • Добавление цветных линий🧶 для разделения диапазона значений График с линиями

На данный момент поддерживается более десяти типов диаграмм, вот их список:

enum AAChartType: String {
    case column          = "column"          //столбчатая диаграмма
    case bar             = "bar"             //линейчатая диаграмма
    case area            = "area"            //диаграмма с областями
    case areaspline      = "areaspline"      //диаграмма со сплайном и областями
    case line            = "line"            //линейная диаграмма
    case spline          = "spline"          //сплайн-диаграмма
    case scatter         = "scatter"         //диаграмма рассеяния
    case pie             = "pie"             //круговая диаграмма
    case bubble          = "bubble"          //пузырьковая диаграмма
    case pyramid         = "pyramid"         //пирамидальная диаграмма
    case funnel          = "funnel"          //воронкообразная диаграмма
    case columnrange     = "columnrange"     //диапазон столбчатых диаграмм
    case arearange       = "arearange"       //диапазон диаграмм с областями
    case areasplinerange = "areasplinerange" //диапазон сплайн-диаграмм с областями
    case boxplot         = "boxplot"         //ящичковая диаграмма
    case waterfall       = "waterfall"       //каскадная диаграмма
    case polygon         = "polygon"         //многоугольная диаграмма
}

Существует три типа масштабирования диаграммы, вот они:

enum AAChartZoomType: String {
    case none = "none"   //отключает масштабирование диаграммы (по умолчанию масштабирование отключено)
    case x    = "x"      //поддерживает масштабирование по горизонтали
    case y    = "y"      //поддерживает вертикальное масштабирование
    case xy   = "xy"     //поддерживает пропорциональное масштабирование
}

Примечание: например, если установить свойство масштабирования zoomType объекта AAChartModel в значение AAChartZoomType.X, а затем увеличить масштаб диаграммы, то можно будет перемещать диаграмму влево и вправо. При этом в правом верхнем углу экрана автоматически появится кнопка «Восстановить масштаб». Если нажать на неё, размер и положение диаграммы вернутся к исходным значениям». Лицензия

Данный проект AAInfographics использует лицензию MIT. Подробнее см. MIT LICENSE.

Контакты

  • 🌕 🌖 🌗 🌘 С тёплым приветом! 🌑 🌒 🌓 🌔

Если у вас есть какие-либо вопросы по использованию, вы всегда можете обратиться ко мне с вопросом на GitHub.

GitHub Issues: https://github.com/AAChartModel/AAChartKit-Swift/issues

Также я буду рад, если вы присоединитесь к этому открытому проекту.

GitHub: https://github.com/AAChartModel StackOverflow: https://stackoverflow.com/users/7842508/codeforu JianShu: http://www.jianshu.com/u/f1e6753d4254 SegmentFault: https://segmentfault.com/u/huanghunbieguan

Список задач

  • Поддержка добавления пользовательских событий после загрузки графика.
  • Поддержка динамического обновления глобального содержимого графика.
  • Поддержка динамического обновления содержимого только числовых данных (series).
  • Поддержка эффекта градиента для цветовых слоёв графика.
  • Поддержка 3D-эффектов для графиков: столбчатых диаграмм, линейных диаграмм, круговых диаграмм, точечных диаграмм и пузырьковых диаграмм.
  • Поддержка горизонтального (полноэкранного) эффекта.
  • Поддержка свободной установки анимации рендеринга графика.
  • Поддержка настройки свойств объекта модели AAOptions пользователем.
  • Поддержка наложения графиков.
  • Поддержка инвертирования осей координат.
  • Поддержка рендеринга точечной диаграммы.
  • Поддержка рендеринга гистограммы.
  • Поддержка рендеринга диаграммы площади.
  • Поддержка рендеринга линейчатой диаграммы с накоплением.
  • Поддержка рендеринга круговой диаграммы.
  • Поддержка рендеринга полярной карты.
  • Поддержка рендеринга столбчатой диаграммы.
  • Поддержка рендеринга гистограммы с накоплением.
  • Поддержка рендеринга древовидной диаграммы.
  • Поддержка рендеринга приборной панели.
  • Поддержка добавления события обратного вызова при нажатии на график.
  • Поддержка динамического обновления чистых данных графика и их прокрутки.
  • Поддержка создания графических изображений.
  • Поддержка сохранения графических изображений в системную папку.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/iOS_wanglu-AAChartKit-Swift.git
git@api.gitlife.ru:oschina-mirror/iOS_wanglu-AAChartKit-Swift.git
oschina-mirror
iOS_wanglu-AAChartKit-Swift
iOS_wanglu-AAChartKit-Swift
master