AAInfographics — это версия AAChartKit на языке Swift, основанная на популярном открытом фреймворке для создания графиков и диаграмм Highcharts. Это объектно-ориентированный, простой в использовании и очень красивый инструмент для создания диаграмм. Возможно, это самый изысканный сторонний фреймворк для iOS с открытым исходным кодом (✟ я клянусь атеизмом перед Богом 🖐, я не говорю ерунды ✟).
pod 'AAInfographics', :git => 'https://github.com/AAChartModel/AAChartKit-Swift.git'
в ваш файл Podfile.
pod install
или pod update
.AAInfographics
.AAInfographicsDemo
.AAInfographics
из Demo в свой проект. 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!)
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]),
])
/*Объект диаграммы вызывает объект модели диаграммы для рисования диаграммы*/
aaChartView?.aa_drawChartWithChartModel(aaChartModel)
🌹🌹🌹 Всё, задача по рисованию графиков выполнена!!! Вы получите желаемый график!!!
Если вам нужно обновить содержимое графика, вы должны прочитать следующее и выбрать подходящую функцию в соответствии с вашими фактическими потребностями.
/*Обновляются только данные серии графика, без изменения других данных графика*/
aaChartView?.aa_onlyRefreshTheChartDataWithChartModelSeries(chartModelSeriesArray)
/*Обновление
В этом тексте не удалось перевести некоторые фрагменты кода на русский язык. Это связано с тем, что в исходном тексте использовались специфические термины и конструкции, которые невозможно точно передать на русском языке. Данный фрагмент текста написан на языке 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
Список задач
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )