AAInfographics
Поддержка | Android |
---|---|
Лицензия | MIT |
Язык | Kotlin |
Java | Поддерживается |
Анимация | Поддерживается (тип анимации на данный момент) |
Китайский | README.md |
Английский | |
Среднее время решения проблемы | http://isitmaintained.com/project/AAChartModel/AAChartCore-Kotlin |
Процент открытых проблем | http://isitmaintained.com/project/AAChartModel/AAChartCore-Kotlin |
https://github.com/AAChartModel/AAChartCore
AAInfographics — это версия на языке Kotlin от AAChartKit, объектно-ориентированная, набор простых в использовании и чрезвычайно элегантных графических элементов управления, основанная на популярной библиотеке графиков с открытым исходным кодом Highcharts. Это позволяет быстро добавлять интерактивные графики в мобильные проекты. Он поддерживает одно касание для проверки данных, мультитач для масштабирования и расширенную отзывчивость для ваших приложений.
AAInfographicsLib
и assets files
. Их можно найти в папках AAChartCore-Kotlin-master/app/src/main/*assets*
и AAChartCore-Kotlin-master/app/src/main/java/com/aachartmodel/*aainfographics*
.assets
в папку вашего проекта по пути ./your_project_folder/app/src/main
.AAInfographicsLib
в папку проекта по пути ./your_project_folder/app/src/main/java/android/organisation/app_name
.'com.google.code.gson:gson:2.8.6'
в ваш gradle.mavenLocal()
.Всё готово, наслаждайтесь!
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)
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))
)
)
AAChartView
): //Объект представления диаграммы вызывает экземпляр объекта AAChartModel и рисует окончательный график
aaChartView?.aa_drawChartWithChartModel(aaChartModel)
🌹🌹🌹Поздравляем! Всё сделано!!! Вы получите то, что хотите!!!
Если вы хотите обновить содержимое диаграммы, вам следует сделать следующее. В соответствии с вашими фактическими потребностями выберите функцию, которая вам подходит.
//Только обновите данные диаграммы
aaChartView?.aa_onlyRefreshTheChartDataWithChartModelSeries(chartModelSeriesArray)
``` ### Обновить диаграмму, исключая данные (этот метод рекомендуется для последующих обновлений после завершения первого построения графиков. Если вы хотите обновить только данные диаграммы, следует использовать функцию `aa_onlyRefreshTheChartDataWithChartModelSeries`)
```kotlin
//Обновить диаграмму после обновления всего содержимого AAChartModel
aaChartView?.aa_refreshChartWholeContentWithChartModel(aaChartModel!)
- Примечание: следующая
ДЕМО картинка
представляет собойдинамическую картинку GIF
, размер которой составляет около 6M. Если вы не видите динамического предварительного просмотра, это означает, что ресурсы изображения были загружены не полностью. В таком случае, пожалуйста, проявите терпение и дождитесь завершения загрузки содержимого. Возможно, вам потребуется перезагрузить эту страницу.
Вы можете отслеживать сообщения о событиях касания пользователя, реализуя функцию делегата для объекта экземпляра 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 🎀
lines 🧶
zones 🧱
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 )