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

Содержание
  1. Графики MPAndroidChart в Android Studio
  2. Справочная информация
  3. Создание болванки
  4. Подключение библиотеки
  5. Создание компонента графика
  6. Добавление графика с данными
  7. Две линии на графике
  8. Настройка графиков
  9. Полные коды активности
  10. Рисовать круговую диаграмму в Android?
  11. 6 ответов
  12. Русские Блоги
  13. Библиотека диаграмм Android MPAndroidChart
  14. Введение
  15. Основные функции:
  16. 1. Начало работы
  17. полагаться
  18. Просмотр классификации
  19. Создать представление
  20. добавление данных
  21. Различные настройки данных диаграммы
  22. BarChart
  23. Grouped BarChart
  24. Stacked BarChart
  25. PieChart
  26. стиль
  27. Особые настройки и стили диаграмм
  28. 2. Взаимодействие с графиком
  29. 3. Выделите значение.
  30. 4. Ось
  31. 5. ось X
  32. 6.YAxis
  33. Корреляция осей
  34. Нулевая линия
  35. 7. Установите цвет
  36. 8. интерфейс AxisValueFormatter
  37. Интеллектуальная рекомендация
  38. Многослойная презентацияViewController Jap
  39. Распечатать список с конца до головы
  40. Типы данных и переменные
  41. Python Daily Practice (4) -идиомы заполняют музыку

Графики MPAndroidChart в Android Studio

Для рисования графиков будем использовать библиотеку MPAndroidChart с 25 тысячами звезд на GitHub.

Справочная информация

У компонента хорошая документация и хороший тестовый пример, откуда можно почерпнуть много полезной информации:

Создание болванки

Создадим для примера пустое приложение в Android Studio с LinearLayout и кнопкой, для которой подготовим слушателя клика.

Файл MainActivity.java (без строки package ):

Подключение библиотеки

На странице библиотеки посмотрите текущее описание подключения библиотеки:

И в файле настроек Gradle скопируйте два куска кода в указанные ниже ан рисунке места и синхронизируйте проект:

Попробуйте запустить проект на эмуляторе или физическом устройстве:

Если всё запустилось хорошо, то всё отлично. Но у меня вылетает такая ошибка:

Для этого в том же файле Gradle нужно прописать еще такие строки в разделе android :

Добавьте их именно в раздел android :

После этого синхронизируйте Gradle и запустите проект. Если вы видите пустое приложение с кнопкой, то всё хорошо:

Если вылетит ошибка с подобным сообщением, то просто перезапустите Android Studio, откройте проект и запустите заново приложение:

Создание компонента графика

Для разных видов графиков существуют свои компоненты, которые описаны в документации. Мы хотим написать приложение, в которых выводятся обычные линейные графики в виде линий. Поэтому добавим в activity_main.xml компонент com.github.mikephil.charting.charts.LineChart :

Как всегда, в коде активности создадим переменную для добавленного компонента и свяжем с XML элементом через findViewByID() :

Добавление графика с данными

Теперь в коде клика кнопки пропишем код добавления данных:

Две линии на графике

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

Настройка графиков

Например, я хочу, чтобы первая линия отображалась с заполнением, а вторая была зеленой и плавной. И также хочу, чтобы график при отрисовке анимировался.

Это можно сделать следующим кодом:

Полный вариант кода клика кнопки:

Полные коды активности

Полные коды

Файл MainActivity.java (без строки package ):

Для рисования графиков будем использовать библиотеку MPAndroidChart с 25 тысячами звезд на GitHub.

Для рисования графиков будем использовать библиотеку MPAndroidChart с 25 тысячами звезд на GitHub.

Источник

Рисовать круговую диаграмму в Android?

Мне нужно рисовать круговую диаграмму (динамические значения). Как создать диаграмму без использования стороннего API.

6 ответов

Ниже приведена простая круговая диаграмма, и вам нужно расширить для большего количества функций. значения [] и массив цветов должны быть равны.

Основная функция для рисования круговой диаграммы, вход представляет собой массив цветов и массив значений. Они должны иметь одинаковый размер. Срезы вызываются по значениям из каждого слайда и сумме всех значений. Кроме того, вы можете также изменить значения float. Это решение предоставляется как облегченная вспомогательная функция. Он прост в использовании, и вам не нужно определять для него класс.

Ответ Рамеша работает почти отлично. Однако белый сбой в конце вызван ошибками округления от заливки float до int. Просто измените тип «temp» на float и удалите cast в (int) в конце, когда «temp + = value_degree [i-1]», и это идеально.

У меня есть довольно простая библиотека, которая является открытым исходным кодом, которую вы, скорее всего, можете использовать для достижения своих целей (https://github.com/saulpower/ExpandablePieChart).

Если вы ищете что-то просто для построения красивой диаграммы, я бы предложил вам использовать MPAndroidChart. Если вы ищете что-то более легкое, вы можете использовать это.

Вы просто создаете список объектов PieDataSet.PieEntry , а затем создаете PieDataSet . После создания вашего объекта PieDataSet вы можете просто вызвать pieDataSet.draw(canvas, x, y, radius) , чтобы нарисовать круговую диаграмму на холсте.

Что-то нужно иметь в виду, чтобы убедиться, что ваши значения набора данных составляют до 1.0f (100%), иначе у вас не будет желаемого результата.

Источник

Русские Блоги

Библиотека диаграмм Android MPAndroidChart

https://blog.csdn.net/u010854167/article/details/53534641 Точечная диаграмма

Введение

Когда мы сталкиваемся со стилем диаграммы при разработке приложений, нам обычно необходимо сначала проверить популярный фреймворк с открытым исходным кодом на GitHub. Этот значок широко используется, статистика, игровая статистика, диаграммы межличностных отношений и т. Д., С использованием сегодняшнего фреймворка MPAndroidChart.Нажмите, чтобы просмотреть GitHub
Библиотека диаграмм, которую можно перетаскивать и масштабировать, включая графики, гистограммы и круговые диаграммы, среди которых гистограмма поддерживает трехмерные эффекты. к

Основные функции:

8 различных типов диаграмм
Масштабирование по двум осям (используйте сенсорные жесты, отдельные оси или сведите пальцы для масштабирования)
Перетаскивание / панорамирование (с помощью сенсорных жестов)
Комбинированный график (линия, столбец, разброс, данные свечи)
Двойная (отдельная) ось
Настраиваемая ось (ось x и ось y)
Выделить значение (с настраиваемым всплывающим окном)
Сохраните диаграмму на SD-карту (как изображение или файл .txt)
Предустановленный шаблон цвета
Легенда (автоматически создается, настраивается)
Анимация (создание анимации по осям xPx и yPx)
Линия предела (укажите дополнительную информацию, максимальное значение . )
Полностью настраиваемый (краска, шрифт, легенда, цвет, фон, жест, пунктирная линия, . )
До 30 000 точек данных можно плавно масштабировать и прокручивать в Line и BarChart
Поддержка Gradle
Отображение мобильной базы данных Realm.io напрямую из данных: MPAndroidChart- ⚡️

1. Начало работы

полагаться

Есть 4 различных варианта использования библиотеки:
Добавьте на уровень проекта build.gradle следующее:

Или
Добавьте в частичный файл pom.xml следующее:

Или
Добавьте в частичный файл pom.xml следующее:

Просмотр классификации

LineChart (линейный график)


Combined-Chart (комбинированный график)

Horizontal-BarChart (горизонтальная гистограмма)

PieChart (круговая диаграмма)

ScatterChart (точечная диаграмма)

CandleStickChart (свечной график)

BubbleChart (пузырьковая диаграмма)

RadarChart (радарная карта)

Создать представление

Определите его в .xml:

добавление данных

После того, как у вас есть экземпляр диаграммы, вы можете создать данные и добавить их на диаграмму. В этом примере используется LineChart, где класс Entry использует координаты x и y для представления одной записи на диаграмме. Другие типы диаграмм, такие как BarChart, используют для этой цели другие классы (например, BarEntry).

Затем вам нужно добавить объект LineDataSet, созданный List, в. Объект DataSet содержит данные, которые принадлежат друг другу, и позволяет использовать отдельные стили данных. «Метка», используемая ниже, имеет только описательную цель и отображается в легенде, если она включена.

Наконец, к объекту LineData необходимо добавить один или несколько объектов, созданных LineDataSet. Этот объект содержит все данные, представленные экземпляром Chart, и допускает дальнейшую стилизацию. После создания объекта данных вы можете установить его как диаграмму и обновить:

Различные настройки данных диаграммы

LineChart
Если вы хотите добавить значения (данные) в диаграмму, вы должны передать

метод. Базовый класс ChartData (ChartData) класс инкапсулирует все данные и информацию диаграммы, необходимые в процессе визуализации. Для каждого типа диаграммы существуют разные подтипы ChartData (например, LineData), которые следует использовать для установки данных для диаграммы. В конструкторе вы можете передать список

Итак, что такое DataSet и зачем он вам нужен? На самом деле это очень просто. Объект DataSet представляет группу записей (например, класс Entry принадлежит на диаграмме вместе). Его цель — логически разделить разные группы значений на диаграмме. Для каждого типа диаграммы существует свой расширенный набор данных (например, LineDataSet), позволяющий использовать определенные формы.

Читайте также:  Android live wallpaper tutorial

Например, вы можете отобразить линейную диаграмму, где квартальная выручка двух разных компаний превышает один год. В этом случае рекомендуется создать два разных объекта LineDataSet, каждый из которых содержит четыре значения (каждый квартал). к
Конечно, он также может предоставить объекту только один LineDataSet, содержащий все 8 значений двух компаний. к
Следовательно, как создать объект LineDataSet?

При поиске структуры (предоставленной другой структурой) видно, что LineDataSet требует Entry типа List и String для описания LineDataSet и в качестве легенды для метки. Кроме того, этот тег можно использовать для поиска объектов LineDataSet в дополнение к другим объектам LineDataSet.

Все значения диаграммы инкапсулированы Entry типа List. Цель Entry — обернуть запись со значениями X и Y на диаграмме:

Всестороннее рассмотрение (примеры, когда квартальная выручка двух компаний превышает один год):

Затем заполните список объектами Entry. Убедитесь, что входной объект содержит правильный индекс для оси x.

LineDataSet может создавать объекты:

Если мы хотим добавить больше описательных значений к оси x (а не диапазон чисел от 0 до 3 пар различных позиций), мы можем сделать это с помощью интерфейса IAxisValueFormatter. Этот интерфейс позволяет настраивать форму XAxis в нарисованном значении. В этом примере модуль форматирования может выглядеть так:

Эффект изображения

Порядок записи
Обратите внимание, что эта библиотека официально не поддерживает рисование LineChart из списка ввода данных, который не сортируется по позиции x записи в возрастающем порядке.
Добавление элементов без сортировки может привести к правильному рисованию, но также может привести к неожиданному поведению. Объекты Entry List могут использовать ручную сортировку или EntryXComparator:

Причина, по которой это необходимо, заключается в том, что библиотека использует алгоритм двоичного поиска, который имеет лучшую производительность и может работать только с упорядоченными списками.

BarChart

Способ установки данных для BarChart очень похож на LineChart. Основное отличие — это объект данных, который необходимо использовать для установки данных (например, BarEntry вместо Entry). Кроме того, в BarChart есть разные варианты стилей.

Рассмотрим следующий пример заполнения данных BarChart:

В приведенном выше примере BarEntry создал пять объектов и добавил их в BarDataSet. Обратите внимание, что есть пробел «2» в позиции x между четвертой и пятой записями.

В приведенном выше фрагменте кода BarData создает объект. Когда создается объект диаграммы BarEntry, мы оставляем пространство «1f» на оси x между (центром) каждой полосы. Устанавливая ширину полосы на 0,9f, мы фактически создаем пространство 0,1f между каждой полосой. Вызов setFitBars (true) сообщает диаграмме, что нужно настроить диапазон значений оси x, который точно соответствует всем столбцам.

После создания объекта BarData мы устанавливаем его как диаграмму и обновляем. Результат должен быть близок к следующему:

Grouped BarChart

Начиная с версии v3.0.0, MPAndroidChart поддерживает явную группировку полос чертежа (в этом случае библиотека будет обрабатывать позицию x) или определяемую пользователем, что означает, что пользователь может изменить положение полосы, изменив положение x.


Чтобы гарантировать, что центр метки XAxis находится над группой, как показано на скриншоте выше, вы можете использовать метод setCenterAxisLabels (. ):

Stacked BarChart

Этот конструктор позволяет предоставить несколько значений yValue, которые представляют значение «стека» каждого столбца. Рассмотрим следующий пример объекта:

Этот BarEntry состоит из стека трех значений с «высотой» «10», «20» и «30».

PieChart

В отличие от других типов диаграмм, PieChart получает данные в виде объектов PieEntry. Конструкторы этих объектов следующие:

Первый параметр конструктора предназначен для фактического «значения», которое должно быть отображено в виде диаграммы PieChart. Второй параметр строки, называемый «метка», используется для предоставления дополнительного описания среза. Рассмотрим следующий пример настройки PieChart:

стиль

Информация о настройках и стилях графических поверхностей и данных
обновление

invalidate (): вызов этого метода на графике обновит (перерисует) его. Это необходимо для того, чтобы изменения, внесенные в график, вступили в силу. к
notifyDataSetChanged (): Сообщите диаграмме, что ее базовые данные изменились, и выполните все необходимые пересчеты (смещение, легенда, максимум, минимум, . ). Особенно, когда для этого нужно динамически добавлять данные.

запись
setLogEnabled (boolean enabled): установка значения true активирует вывод диаграммы logcat. Включение этого параметра снижает производительность, если он не нужен, оставьте его отключенным.

Общий стиль диаграммы

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

setBackgroundColor (int color): установите цвет фона, который будет охватывать весь вид диаграммы. Кроме того, цвет фона можно установить в файле макета через .xml. к
setDescription (String desc): установите текст описания, отображаемый в правом нижнем углу диаграммы. к
setDescriptionColor (int color): установите цвет текста описания. к
setDescriptionPosition (float x, float y): установите пользовательское положение текста описания на экране в пикселях. к
setDescriptionTypeface (Typeface t): установка текста описания, используемого Typeface для рисования. к
setDescriptionTextSize (размер с плавающей запятой): установите размер текста описания (в пикселях), минимум 6f, а максимум 16f. к
setNoDataText (String text): установите текст, который должен отображаться, когда диаграмма пуста. к
setDrawGridBackground (boolean enabled): если включено, будет нарисован фоновый прямоугольник за областью рисования диаграммы. к
setGridBackgroundColor (int color): установите цвет фона сетки, который должен быть нарисован. к
setDrawBorders (boolean enabled): включить / отключить рисование границ диаграммы (линий вокруг диаграммы). к
setBorderColor (int color): установите цвет линии границы диаграммы. к
setBorderWidth (float width): установите ширину линии границы диаграммы в dp. к
setMaxVisibleValueCount (целое число): установить максимальное количество видимых меток значений чертежа на диаграмме. Это должно повлиять только тогда, когда включен setDrawValues ​​().

Особые настройки и стили диаграмм

Линейная, столбчатая, точечная, свечная и пузырьковая диаграмма

setAutoScaleMinMaxEnabled (boolean enabled): флаг, указывающий, следует ли включать автоматическое масштабирование по оси Y. Если этот параметр включен, при изменении области просмотра ось Y автоматически настраивается на минимальное и максимальное значения Y текущего диапазона оси X. Это особенно полезно для диаграмм, отображающих финансовые данные. Значение по умолчанию: false

setKeepPositionOnRotation (boolean enabled): установить диаграмму, чтобы сохранить свое положение (масштабирование / прокрутка) после изменения направления. Значение по умолчанию: false
BarChart

setDrawValueAboveBar (логическое значение включено): если установлено значение true, все значения отображаются над полосами, а не под их вершинами. к
setDrawBarShadow (boolean enabled): если задано значение true, за каждой гистограммой будет нарисована серая область, чтобы указать максимальное значение. Включение его способности снизит производительность примерно на 40%. к
setDrawValuesForWholeStack (логическое значение включено): если установлено значение true, все значения столбцов с накоплением будут отображаться индивидуально, а не только их сумма. к
setDrawHighlightArrow (boolean enabled): установите значение true, чтобы рисовать стрелку выделения над каждой полосой при выделении.

setDrawSliceText (boolean enabled): установите значение true, чтобы отображать текст со значением x в сегментах круговой диаграммы. к
setUsePercentValues ​​(boolean enabled): если этот параметр включен, значения в диаграмме будут отображаться в процентах вместо исходных значений. Значение, предоставленное ValueFormatter для формата, затем предоставляется в процентах. к
setCenterText (текст SpannableString): установите текст, отображаемый в центре PieChart. Более длинный текст будет автоматически «обернут», чтобы не разрезать круговые диаграммы. к
setCenterTextRadiusPercent (float percent): задает радиус прямоугольника ограничивающей рамки центрального текста как процент от значения по умолчанию 1.f (100%) отверстия круговой диаграммы. к
setHoleRadius (с плавающей запятой): установите радиус отверстия в центре круговой диаграммы в процентах от максимального радиуса (max = радиус всей диаграммы), по умолчанию — 50%.
setTransparentCircleRadius (float percent): установите радиус прозрачного круга рядом с отверстием на круговой диаграмме, выраженный в процентах от максимального радиуса (max = радиус всей диаграммы), и по умолчанию 55% -> 5% больше, чем центральное отверстие. По умолчанию
setTransparentCircleColor (int color): установите цвет прозрачного круга. к
setTransparentCircleAlpha (int alpha): установите прозрачность, которую должен иметь прозрачный круг (0-255). к
setMaxAngle (float maxangle): установите максимальный угол, используемый для вычисления круговой окружности. 360f означает, что это полная круговая диаграмма, а 180f — половина круговой диаграммы. Значение по умолчанию: 360f.

Читайте также:  Шифрование данных для андроид

RadarChart
setSkipWebLineCount (int count): Разрешить пропускать сетевую линию от центра диаграммы. Особенно полезно, если строк много.

2. Взаимодействие с графиком

Эта библиотека позволяет полностью настроить возможные взаимодействия касания (и жестов) с представлением диаграммы и реагировать на взаимодействия с помощью методов обратного вызова.

Включить / отключить взаимодействие

setTouchEnabled (boolean enabled): позволяет включать / отключать все возможные сенсорные взаимодействия диаграммы. к
setDragEnabled (boolean enabled): включить / выключить перетаскивание (панорамирование) диаграммы. к
setScaleEnabled (boolean enabled): включить / выключить масштабирование диаграммы по двум осям. к
setScaleXEnabled (boolean enabled): включить / выключить масштабирование по оси x. к
setScaleYEnabled (boolean enabled): включить / выключить масштабирование по оси Y. к
setPinchZoom (включено логическое значение): если установлено значение true, включить масштабирование щипком. Если отключено, оси X и Y могут масштабироваться отдельно. к
setDoubleTapToZoomEnabled (boolean enabled): установите значение false, чтобы запретить двойной щелчок по диаграмме для увеличения.

График быстро / замедленно

setDragDecelerationEnabled (логическое значение включено): если установлено значение true, диаграмма продолжает прокручиваться после прикосновения. Значение по умолчанию: true. к
setDragDecelerationFrictionCoef (float coef): Интервал коэффициента трения замедления [0; 1], более высокое значение указывает, что скорость будет уменьшаться медленно, например, если она установлена ​​на 0, она немедленно остановится. 1 является недопустимым значением и будет автоматически преобразовано в 0,9999.

3. Выделите значение.

Как разрешить выделение элементов касанием жестов и использовать тип программирования как int для описания выделенной части. к
Включить / отключить выделение

setHighlightPerDragEnabled (boolean enabled): установите для этого параметра значение true, чтобы разрешить выделение диаграммы при перетаскивании по поверхности диаграммы при полном уменьшении масштаба. Значение по умолчанию: true
setHighlightPerTapEnabled (boolean enabled): установите значение false, Chart, чтобы значение не выделялось жестами касания. Значение по-прежнему можно выделить перетаскиванием или программно. Значение по умолчанию: true
setMaxHighlightDistance (float distanceDp): установите максимальное расстояние выделения в dp. Элементы на диаграмме, которые щелкнули дальше этого расстояния, не будут выделять. Значение по умолчанию: 500dp
Кроме того, выделение можно настроить для одного объекта DataSet:

highlightValue (float x, int dataSetIndex, boolean callListener): выделить значение в данной позиции x в данном DataSet. Укажите -1 в качестве dataSetIndex, чтобы отменить все выделение. Логический флаг определяет, следует ли вызывать слушателя выбора или нет.

highlightValue (Highlight high, boolean callListener): выделить значение, представленное предоставленным объектом Highlight. Задайте значение null, чтобы отменить выделение. Логический флаг определяет, следует ли вызывать слушателя выбора или нет.

highlightValues ​​(Highlight [] highs): выделить значения, представленные данным массивом Highlight []. Укажите нулевой или пустой массив, чтобы отменить выделение. к
getHighlighted (): возвращает массив Highlight [], который содержит все выделенные элементы, их x-индекс и информацию об индексе набора данных.

Выберите обратный звонок
Эта библиотека предоставляет множество слушателей для обратных вызовов во время взаимодействия. Один из них — OnChartValueSelectedListener, который используется для обратного вызова, когда значение выделяется касанием:

Просто сделайте так, чтобы класс, который должен получить обратный вызов, реализовал этот интерфейс и установил его в качестве слушателя для диаграммы:

Выделить класс
Класс Highlight представляет все данные Entry, связанные с выделением, такие как сам выделенный объект Entry, DataSet, которому он принадлежит, и его более высокое положение на поверхности рисования. Его можно использовать для получения информации о записи, которая была выделена, или для предоставления информации в диаграмму, чтобы выделить запись. Для этого в классе Highlight есть два конструктора:

Эти конструкторы могут использоваться для создания объектов Highlight, которые позволяют программно выполнять выделение:

Пользовательский маркер
В виде показа жестов. По умолчанию весь пользовательский ввод обрабатывается внутри класса ChartHighlighter. Вы можете использовать следующие методы, чтобы заменить выделение по умолчанию собственной реализацией:

Обратный вызов жеста
OnChartGestureListener позволит вам реагировать на жесты, сделанные на графике:

4. Ось

В центре внимания этой вики-страницы — класс AxisBase, два базовых класса XAxis (ось X) и YAxis (ось Y). Представлено в версии 2.0.0

Следующие методы, упомянутые ниже, могут использоваться для обеих осей.

Класс вала допускает использование определенных стилей и содержит следующие компоненты / детали (могут включать):

Метки (нарисованные с выравниванием по вертикали (ось Y) или горизонтально (ось X)), включая значения описания оси
Так называемая «ось» проводится непосредственно рядом с этикеткой и параллельно этикетке.
«Линия сетки», каждая из которых выводится из метки оси в горизонтальном направлении.
LimitLines, позволяющие предоставить специальную информацию, такую ​​как границы или ограничения

Управляйте рисованием части (оси)
setEnabled (boolean enabled): включение или отключение оси. Если этот параметр отключен, никакая часть оси не будет отображаться независимо от других настроек. к
setDrawLabels (boolean enabled): установите значение true, чтобы включить рисование меток осей. к
setDrawAxisLine (логическое значение включено): если линия рядом с осью (осью) должна быть нарисована, установите для нее значение true. к
setDrawGridLines (boolean enabled): установите значение true, чтобы можно было рисовать линии сетки оси.

Пользовательский диапазон оси (мин / макс)

setAxisMaximum (float max): установите пользовательское максимальное значение для этой оси. Если установлено, значение не будет автоматически рассчитываться на основе предоставленных данных. к
resetAxisMaximum (): вызовите эту команду, чтобы отменить ранее установленное максимальное значение. Сделав это, вы снова позволите оси автоматически вычислить свое максимальное значение. к
setAxisMinimum (float min): установите пользовательское минимальное значение для этой оси. Если установлено, значение не будет автоматически рассчитываться на основе предоставленных данных. к
resetAxisMinimum (): вызовите эту команду, чтобы отменить ранее установленное минимальное значение. Сделав это, вы снова позволите оси автоматически вычислить свое минимальное значение. к
setStartAtZero (включено логическое значение): Устарело — используйте вместо этого setAxisMinValue (. ) или setAxisMaxValue (. ). к
setInverted (boolean enabled): если установлено значение true, ось будет инвертирована, что означает, что самое высокое значение будет внизу, а самое низкое значение будет вверху. к
setSpaceTop (float percent): установите сравнение между верхним пространством самого высокого значения на диаграмме (выраженного в процентах от общего диапазона оси) и самым высоким значением на оси. к
setSpaceBottom (float percent): установите нижнее расстояние между наименьшим значением на диаграмме и наименьшим значением на оси (выраженное в процентах от общего диапазона оси). к
setShowOnlyMinMax (логическое значение включено): если включено, на этой оси будут отображаться только минимальное и максимальное значения. Это будет игнорировать / перезаписывать определенное количество тегов (если не обязательно). к
setLabelCount (int count, boolean force): установить количество меток по оси y. Обратите внимание, что это число не фиксировано (если force == false) и может быть только приблизительно. Если принудительно включено (true), нарисуйте точно указанное количество меток — это может привести к нечетным числам на оси. к
setPosition (YAxisLabelPosition pos): установите положение, в котором должна отображаться метка оси. INSIDE_CHART или OUTSIDE_CHART. к
setGranularity (float gran): установите минимальный интервал между значениями оси Y. Это можно использовать, чтобы избежать дублирования значений при увеличении масштаба до точки, где количество десятичных разрядов, установленных для оси, больше не позволяет различать два значения оси. к
setGranularityEnabled (boolean enabled): включить функцию гранулярности, которая ограничивает интервал оси Y при увеличении масштаба. Значение по умолчанию: false

Ось стиля / изменения
setTextColor (int color): установите цвет метки оси. к
setTextSize (размер с плавающей запятой): установите размер текста метки оси в dp. к
setTypeface (Typeface tf): установка метки оси пользовательского шрифта. к
setGridColor (int color): установите цвет линий сетки этой оси. к
setGridLineWidth (ширина с плавающей запятой): установите ширину линии сетки этой оси. к
setAxisLineColor (int color): установить цвет оси этой оси. к
setAxisLineWidth (ширина с плавающей точкой): установите ширину оси этой оси. к
enableGridDashedLine (float lineLength, float spaceLength, float phase): позволяет рисовать линии сетки в пунктирном режиме, например «——». LineLength контролирует длину отрезка линии, spaceLength контролирует интервал между линиями, а phase контролирует начальную точку.

Читайте также:  Touchgrind skate для андроид

Значение оси формата

Для форматирования значений оси вы можете использовать интерфейс IAxisValueFormatter, который объясняется здесь. Вы можете использовать метод axis.setValueFormatter (IAxisValueFormatter formatter), чтобы установить свой собственный формат для оси.

Две оси поддерживают так называемые LimitLines, что позволяет отображать особую информацию, такую ​​как границы или пределы. LimitLines, добавленные к оси Y, рисуются в горизонтальном направлении и добавляются к оси X в вертикальном направлении. Вот как вы добавляете и удаляете LimitLines с оси:

addLimitLine (LimitLine l): добавить новую ось LimitLine. к
removeLimitLine (LimitLine l): удалить указанную LimitLine с этой оси. к
Доступны другие методы добавления / удаления. к
setDrawLimitLinesBehindData (логическое значение включено): позволяет управлять z-порядком между LimitLines и фактическими данными. Если установлено значение true, LimitLines отрисовываются позади фактических данных, в противном случае — вверху. Значение по умолчанию: false
Линии ограничения (например, LimitLine) — это (как можно понять из названия) простые и простые линии, которые можно использовать для предоставления дополнительной информации пользователю.

Например, ваша диаграмма может отображать результаты различных измерений артериального давления, которые пользователи вошли в систему с помощью приложения. Чтобы проинформировать пользователя о том, что систолическое артериальное давление, превышающее 140 мм рт. Ст., Считается риском для здоровья, вы можете добавить линию LimitLine к 140, чтобы предоставить эту информацию. к
Образец кода

5. ось X

XAxis — это подкласс AxisBase, который наследует некоторые методы стилизации и удобства.

Класс XAxis (называвшийся XLabels в предыдущей версии 2.0.0) является контейнером для всех связанных данных и информации по горизонтальной оси. Каждая линия, гистограмма, разброс, CandleStick- и RadarChart имеет объект XAxis.

Класс XAxis допускает определенные формы, состоящие из (могут включать) следующих компонентов / частей:
Так называемая «ось» проводится непосредственно рядом с этикеткой и параллельно этикетке.
«Линия сетки», каждая из которых выводится из метки оси в вертикальном направлении.
Чтобы получить экземпляр класса XAxis, сделайте следующее:

Пользовательское значение оси

setLabelRotationAngle (float angle): установите угол (в градусах) для рисования метки оси x. к
setPosition (XAxisPosition pos): установите положение, в котором должна отображаться XAxis. Выберите между TOP, BOTTOM, BOTH_SIDED, TOP_INSIDE или BOTTOM_INSIDE. к
Образец кода

6.YAxis

YAxis является подклассом AxisBase. Эта вики-статья представляет только YAxis, но не его суперкласс.

Класс YAxis — это контейнер для данных и всей информации, относящейся к вертикальной оси. Каждая линейная полоса, график, точечная диаграмма или CandleStickChart имеет левый и правый объект YAxis, отвечающий за левую или правую ось соответственно. В RadarChart есть только одна ось YAxis. По умолчанию обе оси диаграммы включены и будут нарисованы.

Во время выполнения используйте общедоступную AxisDependency getAxisDependency (), чтобы определить, какая ось представляет одну сторону диаграммы.

Необходимая диаграмма должна быть применена перед данными пользовательской настройки диапазона значений затронутой оси.

Корреляция осей

По умолчанию каждая диаграмма YAxis со всеми данными слева добавляется к диаграмме. Если он не указан и не включен, правая ось Y настраивается для представления того же масштаба, что и левая ось.

Если ваша диаграмма должна поддерживать разные масштабы осей, вы можете сделать это, установив ось, на которой должны отображаться данные. Этого можно добиться, изменив AxisDependency на цель DataSet:

Нулевая линия

За исключением линии сетки, то есть вдоль оси Y, начинающейся на каждом уровне значений, существует так называемая нулевая линия, которая рисуется на оси с нулевыми (0) значениями, которая похожа на линию сетки, но может быть настроена отдельно.

setDrawZeroLine (boolean enabled): включить / выключить рисование нулевой линии. к
setZeroLineWidth (float width): установите ширину нулевой линии. к
setZeroLineColor (int color): установите цвет, который должна иметь нулевая линия. к
Нулевые строки образца кода:
// data has AxisDependency.LEFT
YAxis left = mChart.getAxisLeft();
left.setDrawLabels (false); // Нет меток осей
left.setDrawAxisLine (false); // Нет оси
left.setDrawGridLines (false); // Нет линий сетки
left.setDrawZeroLine (true); // Рисуем нулевую линию
mChart.getAxisRight (). setEnabled (false); // Нет оси Y
Приведенный выше код сгенерирует нулевую линию, как показано на рисунке ниже. Значения осей не отображаются, линии сетки или оси не отображаются, только нулевые линии.

7. Установите цвет

Кроме того, существует множество других методов для набора данных набора цветов. Это полный документ:

setColors(int [] colors, Context c): Установите цвет, который следует использовать перед этим DataSet. Когда количество элементов, представленных DataSet, превышает размер массива цветов, цвета используются повторно. Вы можете использовать «new int [] «, чтобы задать цвета для этого метода. Внутри цвета разрешаются с помощью getResources (). GetColor (. ).

setColors(int [] colors): Установите цвет, который следует использовать перед этим DataSet. Когда количество элементов, представленных DataSet, превышает размер массива цветов, цвета используются повторно. Убедитесь, что цвета подготовлены (вызвав getResources (). GetColor (. ) перед добавлением их в набор данных).

setColors(ArrayList colors): Установите цвет, который следует использовать перед этим DataSet. Когда количество элементов, представленных DataSet, превышает размер массива цветов, цвета используются повторно. Убедитесь, что цвета готовы (вызвав getResources (). GetColor (. )), а затем добавьте их в DataSet.

setColor(int color): Установите единственный цвет, который должен использоваться для этого DataSet. Внутри это воссоздаст массив цветов и добавит указанные цвета.

8. интерфейс AxisValueFormatter

Представленный в версии V3.0.0, этот интерфейс позволяет обеим сторонам настраивать форму значений XAxis и YAxis перед рисованием. к
Создать средство форматирования

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

В следующем примере показано, как рисовать значения из оси массива String []:

Установить средство форматирования

После создания форматтера просто установите его на ось по вашему выбору:

Ограничить временной интервал

Если вы используете средство форматирования на основе индекса массива (как описано выше), имеет смысл ограничить минимальный интервал оси значением «1»:

Это предотвратит отрисовку программой форматирования повторяющихся меток осей (вызванных интервалом оси Предопределенный формат

LargeValueFormatter: может использоваться для форматирования больших значений> «1.000». Он изменит «1.000» на «1k», «1.000.000» будет «1m» (миллион), «1.000.000.000» будет «1b» (миллиарды), а значение одного триллиона будет, например, «1t». к
PercentFormatter: используется для отображения знака «%» после каждого значения с 1 десятичным знаком. Особенно полезно для PieChart. 50-> 50,0%
Пример формата программы

DayAxisValueFormatter: значение, предоставляемое этим преобразованием формата, отображается в строку даты, изменяя строку, которая зависит от масштаба.

Интеллектуальная рекомендация

Многослойная презентацияViewController Jap

. Недавно, проект использует многоэтажные прыжки [A presentViewController: B animated: YES] [B presentViewController: C animated: YES] . Проблема в том, где: как это идет прямо к? Я не нашел ме.

Распечатать список с конца до головы

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

Типы данных и переменные

тип данных Компьютерная программа может обрабатывать различные значения. Однако компьютеры могут обрабатывать гораздо больше, чем числовые значения. Они также могут обрабатывать различные данные, таки.

Python Daily Practice (4) -идиомы заполняют музыку

оглавление 1. Одно место 2. Случайное расположение 3. Добавьте баллы для оценки 4. Получение файла 5. Установите уровень сложности. 6. Срок завершения 7. Выберите заполнение пропусков. 1. Одно место Н.

Источник

Оцените статью