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

OSCHINA-MIRROR/iOS_wanglu-AAChartCore-Kotlin

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

AAInfographics

AAInfographics-LOGO

AAInfographics

Поддержка

Поддержка Android
Лицензия MIT
Язык Kotlin
Java Поддерживается
Анимация Поддерживается (тип анимации на данный момент)
Китайский README.md
Английский
Среднее время решения проблемы http://isitmaintained.com/project/AAChartModel/AAChartCore-Kotlin
Процент открытых проблем http://isitmaintained.com/project/AAChartModel/AAChartCore-Kotlin

Английский документ 🇬🇧 | 简体中文文档 🇨🇳 | 繁體中文文檔 🇭🇰

Ссылка на версию Java AAChartCore-Kotlin:

https://github.com/AAChartModel/AAChartCore

Введение

AAInfographics — это версия на языке Kotlin от AAChartKit, объектно-ориентированная, набор простых в использовании и чрезвычайно элегантных графических элементов управления, основанная на популярной библиотеке графиков с открытым исходным кодом Highcharts. Это позволяет быстро добавлять интерактивные графики в мобильные проекты. Он поддерживает одно касание для проверки данных, мультитач для масштабирования и расширенную отзывчивость для ваших приложений.

Особенности

  1. Поддержка Android, Kotlin и Java.
  2. Мощный, поддерживает столбчатую диаграмму, гистограмму, диаграмму с областями, диаграмму областей с линиями, линейную диаграмму, сплайновую диаграмму, радиолокационную диаграмму, полярную диаграмму, круговую диаграмму, пузырьковую диаграмму, пирамидальную диаграмму, воронкообразную диаграмму, кольцевую диаграмму и другие графики.
  3. Интерактивный, анимированный, эффект анимации изысканный, нежный, плавный и красивый.
  4. Поддержка синтаксиса цепного программирования, такого как системная структура.
  5. AAChartView + AAChartModel = Диаграмма. В AAInfographics используется минималистская формула: Диаграмма просмотра + Диаграмма модели = Диаграмма, которую вы хотите. Как и в других мощных фреймворках диаграмм AAChartKit, AAChartKit-Swift, AAChartCore.

Благодарность

## Установка

Вручную (старая школа)

  1. Скачайте репозиторий.
  2. Найдите папки AAInfographicsLib и assets files. Их можно найти в папках AAChartCore-Kotlin-master/app/src/main/*assets* и AAChartCore-Kotlin-master/app/src/main/java/com/aachartmodel/*aainfographics*.
  3. Поместите папку assets в папку вашего проекта по пути ./your_project_folder/app/src/main.
  4. Поместите библиотеку папки AAInfographicsLib в папку проекта по пути ./your_project_folder/app/src/main/java/android/organisation/app_name.
  5. Добавьте реализацию 'com.google.code.gson:gson:2.8.6' в ваш gradle.
  6. Если отсутствует — добавьте mavenLocal().

Всё готово, наслаждайтесь!

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

  1. Создайте объект экземпляра представления диаграммы AAChartView:
         <com.aachartmodel.aainfographics.AAInfographicsLib.AAChartCreator.AAChartView
        android:id="@+id/AAChartView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
       val aaChartView : AAChartView = findViewById(R.id.AAChartView)
  1. Настройте свойства модели диаграммы AAChartModel:
     val aaChartModel : AAChartModel = AAChartModel()
    .chartType(AAChartType.Area)
    .title("title")
    .subtitle("subtitle")
    .backgroundColor("#4b2b7f")
    .dataLabelsEnabled(true)
    .yAxisGridLineWidth(0f)
    .series(arrayOf(
        AASeriesElement()
            .name("Tokyo")
            .data(arrayOf(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("NewYork")
            .data(arrayOf(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("London")
            .data(arrayOf(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("Berlin")
            .data(arrayOf(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):
        //Объект представления диаграммы вызывает экземпляр объекта AAChartModel и рисует окончательный график
        aaChartView?.aa_drawChartWithChartModel(aaChartModel)

🌹🌹🌹Поздравляем! Всё сделано!!! Вы получите то, что хотите!!!

Обновление содержимого диаграммы

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

  • Только обновите данные диаграммы (этот метод рекомендуется вызывать для динамического обновления данных серии).
        //Только обновите данные диаграммы
        aaChartView?.aa_onlyRefreshTheChartDataWithChartModelSeries(chartModelSeriesArray)
``` ### Обновить диаграмму, исключая данные (этот метод рекомендуется для последующих обновлений после завершения первого построения графиков. Если вы хотите обновить только данные диаграммы, следует использовать функцию `aa_onlyRefreshTheChartDataWithChartModelSeries`)
```kotlin
    //Обновить диаграмму после обновления всего содержимого AAChartModel
    aaChartView?.aa_refreshChartWholeContentWithChartModel(aaChartModel!)

Образец инфографики

  • Линейная диаграмма

Линейная диаграмма

  • Столбчатая диаграмма

IMG_1873.JPG

  • Гистограмма

Гистограмма

  • Специальная площадная диаграмма один

IMG_1869.JPG

  • Специальная площадная диаграмма два

IMG_1871.JPG

  • Специальная площадная диаграмма три

IMG_1863.JPG

  • Полярная диаграмма

Полярная диаграмма

  • Радарная диаграмма

Радарная диаграмма

  • Круговая диаграмма

Круговая диаграмма

  • Пузырьковая диаграмма

Пузырьковая диаграмма

  • Диаграмма рассеяния

Диаграмма рассеяния

  • Плотностная диаграмма с областями

Плотностная диаграмма с областями

  • Ступенчатая площадная диаграмма

Ступенчатая площадная диаграмма

  • Смешанная диаграмма

Смешанная диаграмма

Дополнительные графики

  • Примечание: следующая ДЕМО картинка представляет собой динамическую картинку GIF, размер которой составляет около 6M. Если вы не видите динамического предварительного просмотра, это означает, что ресурсы изображения были загружены не полностью. В таком случае, пожалуйста, проявите терпение и дождитесь завершения загрузки содержимого. Возможно, вам потребуется перезагрузить эту страницу.

AAChartKit-Live

Специальные инструкции

Поддержка событий касания пользователя и перемещения

Вы можете отслеживать сообщения о событиях касания пользователя, реализуя функцию делегата для объекта экземпляра AAChartView.

   interface AAChartViewCallBack {
        fun chartViewMoveOverEventMessage(aaChartView: AAChartView, messageModel: AAMoveOverEventMessageModel)
    }

Полученные сообщения о событиях касания содержат следующее содержимое

class AAMoveOverEventMessageModel {
    var name: String? = null
    var x: Double? = null
    var y: Double? = null
    var category: String? = null
    var offset: LinkedTreeMap<*, *>? = null
    var index: Double? = null
}

Поддержка пользовательского стиля диаграммы AATooltip через функцию JavaScript

Как мы все знаем, AAInfographics поддерживает использование строки HTML. Большую часть времени строки заголовка формата, точки формата и нижнего колонтитула формата HTML достаточно для настройки содержимого всплывающей подсказки диаграммы, однако иногда потребности приложения настолько необычны, что в этом случае вы даже можете настроить стиль всплывающей подсказки диаграммы с помощью функции JavaScript.

Например, Конфигурирование свойств объекта экземпляра AATooltip следующим образом:

val aaTooltip = AATooltip()
    .useHTML(true)
    .formatter(
        """
function () {
    return ' 🌕 🌖 🌗 🌘 🌑 🌒 🌓 🌔 <br/> '
    + ' Support JavaScript Function Just Right Now !!! <br/> '
    + ' The Gold Price For <b>2020 '
    +  this.x
    + ' </b> Is <b> '
    +  this.y
    + ' </b> Dollars ';
}
""".trimIndent()
)
    .valueDecimals(2)//установка точности до определённого знака после запятой//установка точности до определённого знака после запятой
    .backgroundColor("#000000")
    .borderColor("#000000")
    .style(
        AAStyle()
            .color("#FFD700")
            .fontSize("12 px")
    )

Можно получить настраиваемую диаграмму стиля всплывающей подсказки, подобную этой👇

Поддержка сегментации диапазона значений

  • Диаграмма с сегментацией диапазона значений bands 🎀 plotBandsChart
  • Диаграмма с сегментацией диапазона значений lines 🧶 plotLinesChart
  • Диаграмма с сегментацией диапазона значений zones 🧱 seriesZonesChart

Поддержка обновления данных диаграммы при прокрутке

Поддержка сортировки данных с эффектом анимации

Поддерживаемые типы диаграмм на данный момент

enum class AAChartType(val value: String) {
    Column          ("column"),
    Bar             ("bar"),
    Area            ("area"),
    Areaspline      ("areaspline"),
    Line            ("line"),
    Spline          ("spline"),
    Scatter         ("scatter"),
    Pie             ("pie"),
    Bubble          ("bubble"),
    Pyramid         ("pyramid"),
    Funnel          ("funnel"),
    Columnrange     ("columnrange"),
    Arearange       ("arearange"),
    Areasplinerange ("areasplinerange"),
    Boxplot         ("boxplot"),
    Waterfall       ("waterfall"),
    Polygon         ("polygon")
}

Поддерживаемые типы жестов масштабирования на данный момент

enum class AAChartZoomType(val value: String) {
    None ("none"),  
    X    ("x"),     
    Y    ("y"),     
    XY   ("xy"),    
}

Поддерживаемый тип анимации на данный момент

enum class AAChartAnimationType(val value :String){
    EaseInQuad     ("easeInQuad"),
    EaseOutQuad    ("easeOutQuad"),
    EaseInOutQuad  ("easeInOutQuad"),
    EaseInCubic    ("easeInCubic"),
    EaseOutCubic   ("easeOutCubic"),
    EaseInOutCubic ("easeInOutCubic"),
    EaseInQuart    ("easeInQuart"),
    EaseOutQuart   ("easeOutQuart"),
    EaseInOutQuart ("easeInOutQuart"),
    EaseInQuint    ("easeInQuint"),
    EaseOutQuint   ("easeOutQuint"),
    EaseInOutQuint ("easeInOutQuint"),
    EaseInSine     ("easeInSine"),
    EaseOutSine    ("easeOutSine"),
    EaseInOutSine  ("easeInOutSine"),
    EaseInExpo     ("easeInExpo"),
    EaseOutExpo    ("easeOutExpo"),
    EaseInOutExpo  ("easeInOutExpo"),
    EaseInCirc     ("easeInCirc"),
    EaseOutCirc    ("easeOutCirc"),
    EaseInOutCirc  ("easeInOutCirc"),
    EaseOutBounce  ("easeOutBounce"),
    EaseInBack     ("easeInBack"),
``` Вот перевод текста на русский язык:

**Вот десять конкретных типов анимации AAInfographics**

| Назад | Отскок | Цирк | Кубический | Эластичный |
|:---:|:---:|:---:|:---:|:---:|
| ![][1] | ![][2] | ![][3] | ![][4] | ![][5] |


| Экспо | Квадрат | Кварта | Квинт | Синус |
|:---:|:---:|:---:|:---:|:---:|
| ![][6] | ![][7] | ![][8] | ![][9] | ![][10] |

## О AAChartModel

* ### AAChartModel: основные свойства инструкции диаграммы

Имя свойства | Описание | Диапазон значений | 
------------ | ------------- | ------------- |
title | Заголовок диаграммы | Любая допустимая строка | 
subtitle | Субтитр диаграммы  | Любая допустимая строка |
chartType | Тип серии по умолчанию для диаграммы. Может быть любым из типов диаграмм, перечисленных в `AAChartType`.  | AAChartType.Column, <br/> AAChartType.Bar,<br/>  AAChartType.Area, <br/> AAChartType.AreaSpline,<br/>  AAChartType.Line,<br/>  AAChartType.Spline,<br/>  AAChartType.Pie,<br/>  AAChartType.Bubble, <br/> AAChartType.Scatter,<br/>  AAChartType.Pyramid, <br/> AAChartType.Funnel,<br/>  AAChartType.Arearange, <br/> AAChartType.Columnrange |   
stacking| Следует ли складывать значения каждой серии друг над другом. Возможные значения: null для отключения, «normal» для стека по значению или «percent». Когда свёртывание включено, данные должны быть отсортированы в порядке возрастания X | AAChartStackingType.None,<br/>AAChartStackingType.Normal,<br/>  AAChartStackingType.Percent | 
symbol | Предопределённая форма или символ для маркера. При значении null символ извлекается из options.symbols. Другие возможные значения: «circle», «square», «diamond», «triangle» и «triangle-down» | AAChartSymbolType.Circle,<br/>  AAChartSymbolType.Square,<br/>  AAChartSymbolType.Diamond, <br/> AAChartSymbolType.Triangle,<br/>  AAChartSymbolType.TriangleDown | 
colorsTheme | цветовая тема стиля диаграммы | значение по умолчанию  `arrayOf("#fe117c", "#ffc069", "#06caf4", "#7dffc0")`  | 
series | серия данных диаграммы | список, состоящий из объектов типа AASeriesElement, каждый объект AASeriesElement имеет свой собственный тип, имя, данные, цвет, значение непрозрачности и т. д. | 




* ### AAChartModel: список всех свойств диаграммы
```kotlin
  var animationType: String? = null          
    var animationDuration: Int? = null       
    var title: String? = null                 
    var subtitle: String? = null               
    var chartType: String? = null             
    var stacking: String? = null              
    var symbol: String? = null               
    var symbolStyle: String? = null
    var zoomType: String? = null              
    var pointHollow: Boolean? = null           
    var inverted: Boolean? = null              
    var xAxisReversed: Boolean? = null         
    var yAxisReversed: Boolean? = null         
    var tooltipEnabled: Boolean? = null        
    var tooltipValueSuffix: String? = null    
    var tooltipCrosshairs: Boolean? = null     
    var gradientColorEnable: Boolean? = null  
    var polar: Boolean? = null                
    var marginLeft: Float? = null            
    var marginRight: Float? = null           
    var dataLabelEnabled: Boolean? = null     
    var xAxisLabelsEnabled: Boolean? = null    
    var categories: Array<String>? = null      
    var xAxisGridLineWidth: Int? = null       
    var xAxisVisible: Boolean? = null          
    var yAxisVisible: Boolean? = null          
    var yAxisLabelsEnabled: Boolean? = null    
    var yAxisTitle: String? = null            
    var yAxisLineWidth: Float? = null          
    var yAxisGridLineWidth: Int? = null        
    var colorsTheme: Array<Any>? = null        
    var legendEnabled: Boolean? = null         
    var legendLayout: [6]:  https://raw.githubusercontent.com/adad184/MMTweenAnimation/master/Images/6.gif
[7]:  https://raw.githubusercontent.com/adad184/MMTweenAnimation/master/Images/7.gif
[8]:  https://raw.githubusercontent.com/adad184/MMTweenAnimation/master/Images/8.gif
[9]:  https://raw.githubusercontent.com/adad184/MMTweenAnimation/master/Images/9.gif
[10]: https://raw.githubusercontent.com/adad184/MMTweenAnimation/master/Images/10.gif

Комментарии ( 0 )

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

Введение

Чрезвычайно элегантный и удобный фреймворк для визуализации данных в виде графиков и диаграмм для Android. Мощнейший, поддерживает линейные графики, сплайны, диаграммы с областями, диаграммы с заполненными областями, столбчатые диаграммы, гистограммы, круговые диаграммы, точечные диаграммы, угловые датчики, кольцевые диаграммы, диаграммы с запол... Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/iOS_wanglu-AAChartCore-Kotlin.git
git@api.gitlife.ru:oschina-mirror/iOS_wanglu-AAChartCore-Kotlin.git
oschina-mirror
iOS_wanglu-AAChartCore-Kotlin
iOS_wanglu-AAChartCore-Kotlin
master