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

OSCHINA-MIRROR/iOS_wanglu-AAChartCore

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

AAChartCore-LOGO

AAChartCore

Поддержка Android Лицензия MIT Язык Kotlin Поддержка Java Поддержка анимации Китайский язык Английский язык Среднее время решения проблемы Процент открытых проблем

Документация на английском языке 🇬🇧 | Документация на китайском языке 🇨🇳 | Документация на традиционном китайском языке 🇭🇰

Ссылка на версию на языке Kotlin библиотеки AAChartCore

https://github.com/AAChartModel/AAChartCore-Kotlin

ВступлениеAAChartCore — это версия на языке Java объектно-ориентированной библиотеки AAChartKit, представляющая собой набор удобных в использовании, крайне элегантных графических средств отрисовки, основанных на популярной открытой библиотеке фронтенд-графиков Highcharts. Она позволяет очень быстро добавлять интерактивные графики в ваши мобильные проекты. Поддерживает однонажатийное сжатие данных, многопальцевое масштабирование и продвинутую отзывчивость для ваших приложений.***

Возможности1. Поддержка Android, Kotlin и Java.

  1. Мощная поддержка графиков в виде столбчатых диаграмм (column chart), гистограмм (bar chart), областных диаграмм (area chart), сплайновых областных диаграмм (areaspline chart), линейных диаграмм (line chart), сплайн-диаграмм (spline chart), радара (radar chart), полярной диаграммы (polar chart), круговых диаграмм (pie chart), пузырьковых диаграмм (bubble chart), пирамидальных диаграмм (pyramid chart), конусных диаграмм (funnel chart) и других типов графиков.
  2. Интерактивная, анимированная, эффект анимации изящный, плавный и красивый.
  3. Поддерживает синтаксис цепочки программирования, как это делает системный фреймворк.
  4. AAChartView + AAChartModel = График В фреймворке AAChartCore используется минималистичная формула: Графический вид + Графическая модель = Желаемый график. Также, как мощные фреймворки для графиков AAChartKit, AAChartKit-Swift, AAChartCore-Kotlin.***

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

Установка

Вручную (классический способ)

  1. Скачайте весь проект демонстрационной версии AAChartCore.

  2. Переместите папку AAChartCoreLib и файлы ассетов в ваш проект.## Использование

  3. Создайте экземпляр объекта диаграммы: AAChartView

        <AAChartCore.AAChartConfiger.AAChartView
        android:id="@+id/AAChartView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        />
       aaChartView = findViewById(R.id.AAChartView);
  1. Настройте свойства модели диаграммы: AAChartModel
AAChartModel aaChartModel = new AAChartModel()
.chartType(AAChartType.Area)
.title("ТЕПЛО ПРОГРАММИРОВАНИЯ ЯЗЫКОВ")
.subtitle("Виртуальные данные")
.backgroundColor("#4b2b7f")
.categories(new String[]{"Java", "Swift", "Python", "Ruby", "PHP", "Go", "C", "C#", "C++"})
.dataLabelsEnabled(false)
.yAxisGridLineWidth(0f)
.series(new AASeriesElement[]{
    new AASeriesElement()
    .name("Токио")
    .data(new Object[]{7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6}),
    new AASeriesElement()
    .name("Нью-Йорк")
    .data(new Object[]{0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5}),
    new AASeriesElement()
    .name("Лондон")
    .data(new Object[]{0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0}),
    new AASeriesElement()
    .name("Берлин")
    .data(new Object[]{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).
        // Обновляем полное содержимое диаграммы после обновления AAChartModel
        aaChartView.aa_refreshChartWholeContentWithChartModel(aaChartModel);

Примеры информационной графики

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

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

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

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

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

Гистограмма

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

Специальная облачная диаграмма один

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

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

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

Специальная облачная диаграмма три- ### Полярная диаграмма

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

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

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

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

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

  • Диаграмма пузырьков

Диаграмма пузырьков

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

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

  • Облачная диапазонная диаграмма

Облачная диапазонная диаграмма

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

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

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

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

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

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

Особые указания

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

Вы можете отслеживать сообщения событий нажатия пользователя, реализуя метод делегата для объекта AAChartView:

      public interface AAChartViewCallback {
        void chartViewMoveOverEventMessage(AAChartView aaChartView, AAMoveOverEventMessageModel messageModel);
    }

Полученные сообщения событий включают следующие данные:

public class AAMoveOverEventMessageModel {
    public String name;
    public Double x;
    public Double y;
    public String category;
    public LinkedTreeMap offset;
    public Double index;
}

Поддержка кастомизации стиля AATooltip через JavaScript-функцию

Как известно, AAInfographics поддерживают использование строк HTML. Большинство случаев требуют лишь строки headerFormat, pointFormat и footerFormat для кастомизации содержимого подсказок графиков. Однако иногда требования мобильных приложений могут быть слишком специфичными, и тогда можно даже кастомизировать стиль подсказок графика через JavaScript-функцию.Например, конфигурация свойств экземпляра объекта AATooltip может выглядеть следующим образом:

AATooltip aaTooltip = new AATooltip()
            .useHTML(true)
            .formatter("function() { \n" +
                    "return '🌕🌖🌗🌘🌑🌒🌓🌔<br/>' \n" +
                    "+ 'Поддерживает JavaScript-функцию прямо сейчас!!!<br/>' \n" +
                    "+ 'Цена золота за <b>2020 год</b> составляет <b>}' \n" +
                    "+ this.x \n" +
                    "+ '<b>/</b> долларов <b>}' \n" +
                    "+ this.y \n" +
                    "+ '<b></b>'; \n" +
                    "}")
            .valueDecimals(2)
            .backgroundColor("#000000")
            .borderColor("#000000")
            .style(new AAStyle()
                    .color("#FFD700")
                    .fontSize("12 px")
            );

Вы можете получить кастомизированное стилизованные подсказки в виде диаграммы вот так👇 ### Поддержка сегментации диапазона значений

  • диаграмма с сегментацией диапазона значений полосами 🎀 plotBandsChart

  • диаграмма с сегментацией диапазона значений линиями 🧶 plotLinesChart

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

public interface AAChartType {
    String Column          = "column";
    String Bar             = "bar";
    String Area            = "area";
    String AreaSpline      = "areaspline";
    String Line            = "line";
    String Spline          = "spline";
    String Scatter         = "scatter";
    String Pie             = "pie";
    String Bubble          = "bubble";
    String Pyramid         = "pyramid";
    String Funnel          = "funnel";
    String Columnrange     = "columnrange";
    String Arearange       = "arearange";
    String Areasplinerange = "areasplinerange";
    String Boxplot         = "boxplot";
    String Waterfall       = "waterfall";
}

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

public interface AAChartZoomType {
    String X  = "x";
    String Y  = "y";
    String XY = "xy";
}
```### Поддерживаемые типы анимации на данный момент```java
   public interface AAChartAnimationType {
        String EaseInQuad     = "EaseInQuad";
        String EaseOutQuad    = "EaseOutQuad";
        String EaseInOutQuad  = "EaseInOutQuad";
        String EaseInCubic    = "EaseInCubic";
        String EaseOutCubic   = "EaseOutCubic";
        String EaseInOutCubic = "EaseInOutCubic";
        String EaseInQuart    = "EaseInQuart";
        String EaseOutQuart   = "EaseOutQuart";
        String EaseInOutQuart = "EaseInOutQuart";
        String EaseInQuint    = "EaseInQuint";
        String EaseOutQuint   = "EaseOutQuint";
        String EaseInOutQuint = "EaseInOutQuint";
        String EaseInSine     = "EaseInSine";
        String EaseOutSine    = "EaseOutSine";
        String EaseInOutSine  = "EaseInOutSine";
        String EaseInExpo     = "EaseInExpo";
        String EaseOutExpo    = "EaseOutExpo";
        String EaseInOutExpo  = "EaseInOutExpo";
        String EaseInCirc     = "EaseInCirc";
        String EaseOutCirc    = "EaseOutCirc";
        String EaseInOutCirc  = "EaseInOutCirc";
        String EaseOutBounce  = "EaseOutBounce";
        String EaseInBack     = "EaseInBack";
        String EaseOutBack    = "EaseOutBack";
        String EaseInOutBack  = "EaseInOutBack";
        String Elastic        = "Elastic";
        String SwingFromTo    = "SwingFromTo";
        String SwingFrom      = "SwingFrom";
        String SwingTo        = "SwingTo";
        String Bounce         = "Bounce";
        String BouncePast     = "BouncePast";
        String EaseFromTo     = "EaseFromTo";
        String EaseFrom       = "EaseFrom";
        String EaseTo         = "EaseTo";
    }

Здесь представлены различные типы анимации для AAInfographics.| Назад | Прыжок | Круг | Кубический | Упругий | |:----------:|:---------:|:---------:|:----------:|:---------:| | ![][1] | ![][2] | ![][3] | ![][4] | ![][5] |

Экспоненциальный Квадратичный Четвертый Пятый Гармонический
![][6] ![][7] ![][8] ![][9] ![][10]

Описание AAChartModel

  • AAChartModel: базовые свойства графикаНазвание свойства | Описание | Диапазон значений |

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

Свойства модели AAChartModel

public String animationType;
public Integer animationDuration;
``````java
public String title;                 
public String subtitle;             
public String chartType;           
public String stacking;              
public String symbol;               
public String symbolStyle;
public String zoomType;             
public boolean pointHollow;           
public boolean inverted;              
public boolean xAxisReversed;       
public boolean yAxisReversed;        
public boolean tooltipEnabled;        
public String tooltipValueSuffix;    
public boolean tooltipCrosshairs;     
public boolean gradientColorEnable;  
public boolean polar;                
public float marginLeft;
public float marginRight;
public boolean dataLabelEnabled;     
public boolean xAxisLabelsEnabled;    
public String[] categories;            
public int xAxisGridLineWidth;    
public boolean xAxisVisible;          
public boolean yAxisVisible;         
public boolean yAxisLabelsEnabled;   
public String yAxisTitle;            
public float yAxisLineWidth;         

public int y_axis_grid_line_width;    
public Object[] theme_color_set;          
public boolean legend_enabled;         
public String legend_position;          
public String legend_alignment;           
public String vertical_legend_alignment;  
public String background_color;       
public boolean options_3d_enabled;       
public int alpha_angle_options_3d;     
public int beta_angle_options_3d;      
public int depth_options_3d;        
public int edge_radius;          
public int marker_radius;          
public AASeriesElement[] series;
public String header_color;            
public String subheader_color;         
public String axis_color;                    
```## Создано

![](https://avatars1.githubusercontent.com/u/16357599?s=40&v=4)Ан Ан
```java
"КОД НЕ ДАЛЕК ОТ БУГ С УЧАСТИЕМ ЖИВОТНОГО"

*          ##2      ##2
*       -##1   -##1
*    _ ---━┛_┻━━┓
*    ┃           ┃     
*    ┃   ━       ┃    
*     @^   @^    ┃   
*    ┃        
*    ┃   ┻    
*    _      _
*     ┗━┓   ┏━┛
*      ┃   ┃животное защита
*      ┃   ┃никогда нет ошибок!
*      ┃   ┗━━━┓----|
*      ┃         ┣┓}}
*      ┃         ┏┛
*      ┗┓&&&-&&&┓┏┛-|
*       ┃┫┫  ┃┫┫
*       ┗┻┛  ┗┻┛
*
*
"КОД НЕ ДАЛЕК ОТ БУГ С УЧАСТИЕМ ЖИВОТНОГО"

Исходный Код ⛓

Язык Версия Проект Целевой Платформа Исходный Код Ссылка
Kotlin AAInfographics Android https://github.com/AAchartmodel/AAChartkit-kotlin
Java AAChartCore Android https://github.com/AAchartmodel/AAChartkit
Swift AAInfographics iOS https://github.com/AAchartmodel/AAChartkit-swift
Objective-C AAChartKit iOS https://github.com/AAchartmodel/AAChartkit

Лицензия

AAInfographics доступен под лицензией MIT. Подробнее см. файл ЛИЦЕНЗИЯ.

Контакты ```


  • 🌕 🌖 🌗 🌘 ВАЖНЫЕ УКАЗАНИЯ!!! 🌑 🌒 🌓 🌔
  • Если вы столкнулись с какими-либо проблемами при использовании, пожалуйста, свяжитесь со мной через GitHub.
  • GitHub Issues : https://github.com/AAChartModel/AAChartCore/issues


- [x] Поддержка динамической перезагрузки глобального содержимого графика
- [x] Поддержка динамической перезагрузки чистых данных (`series`)
- [x] Поддержка градиентных эффектов цветового слоя
- [x] Поддержка горизонтальной ориентации экрана (полный экран)
- [x] Поддержка свободной настройки анимации отрисовки графиков
- [x] Поддержка свободной настройки свойств объекта модели `AAOptions`
- [x] Поддержка накладывания графиков друг на друга
- [x] Поддержка обратной оси графика
- [x] Поддержка отображения рассеянного графика
- [x] Поддержка отображения карты диапазона столбцов
- [x] Поддержка отображения графика области диапазона
- [x] Поддержка отображения полярного графика
- [x] Поддержка отображения линейного графика с шагами
- [x] Поддержка отображения облачного графика с шагами
- [ ] Поддержка отображения диаграмм иерархии прямоугольников
- [ ] Поддержка отображения круговой диаграммы прогресса
- [ ] Поддержка добавления обратных вызовов событий кликов по графикам
- [ ] Поддержка реального времени обновления чистых данных графиков и динамического прокрутки
- [ ] Поддержка создания изображений файлов отрендеренного графика
- [ ] Поддержка сохранения созданных изображений файлов в системную галерею[1]:  https://raw.githubusercontent.com/adad184/MMTweenAnimation/master/Images/1.gif
[2]:  https://raw.githubusercontent.com/com/adad184/MMTweenAnimation/master/Images/2.gif  
[3]:  https://raw.githubusercontent.com/adad184/MMTweenAnimation/master/Images/3.gif  
[4]:  https://raw.githubusercontent.com/adad184/MMTweenAnimation/master/Images/4.gif  
[5]:  https://raw.githubusercontent.com/adad184/MMTweenAnimation/master/Images/5.gif  
[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.git
git@api.gitlife.ru:oschina-mirror/iOS_wanglu-AAChartCore.git
oschina-mirror
iOS_wanglu-AAChartCore
iOS_wanglu-AAChartCore
master