Bar

Краткая информация

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

Более подробно об использовании линейчатых диаграмм в ArcGIS Pro.

Обсуждение

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

Синтаксис

Bar (x, {y}, {aggregation}, {splitCategory}, {multiSeriesDisplay}, {miniChartsPerRow}, {showPreviewChart}, {showMovingAverage}, {movingAveragePeriod}, {timeBinningProperties}, {rotated}, {title}, {description}, {xTitle}, {yTitle}, {dataSource}, {displaySize})
ПараметрОписаниеТип данных
x

The field name for the x-axis variable. The field must be a category or a date field. If an empty string is specified, the chart will match the layer symbology.

String
y

The field names for the numeric fields. Provide a single field name or a list of field names.

String
aggregation

Specifies the statistical calculation that will be applied to values that occur at the same value along the x-axis.

  • <None>Each value will be plotted on the chart regardless of overlap or recurring values.
  • COUNTThe total number of records will be identified and applied.
  • SUMThe sum of all values will be calculated and applied.
  • MEANThe mean of all values will be calculated and applied.
  • MEDIANThe median of all values will be identified and applied.
  • MINThe minimum value will be identified and applied.
  • MAXThe maximum value will be identified and applied.
String
splitCategory

A second categorical field that adds a separate series or bar for each unique value in the field.

String
multiSeriesDisplay

Specifies the display type for a bar chart with multiple series.

  • sideBySideThe series will be displayed side by side.
  • stackedThe series will be displayed stacked.
  • stacked100The series will be displayed 100 percent stacked.
  • gridThe series will be displayed as a grid of miniplots.
String
miniChartsPerRow

The number of minicharts that will be shown per row. The number of rows will be determined by the total number of series divided by the miniChartsPerRow value.

Integer
showPreviewChart

Specifies whether the preview chart will be displayed for grid charts.

  • TrueThe preview chart will be displayed.
  • FalseThe preview chart will not be displayed.

(Значение по умолчанию — False)

Boolean
showMovingAverage

Specifies whether the moving average line will be displayed for temporal bar charts.

  • TrueThe moving average line will be displayed.
  • FalseThe moving average line will be hidden.

(Значение по умолчанию — False)

Boolean
movingAveragePeriod

The size of the moving average period.

Integer
timeBinningProperties

The time binning properties from the TimeBinningProperties class.

Object
rotated

Specifies whether bars will be displayed vertically or horizontally.

  • TrueBars will be displayed horizontally.
  • FalseBars will be displayed vertically.

(Значение по умолчанию — False)

Boolean
title

The title of the chart. The title text appears at the top of the chart view and is used as the label for the chart in the Contents pane.

String
description

The description of the chart. The description text appears at the bottom of the chart view.

String
xTitle

The title of the x-axis of the chart.

String
yTitle

The title of the y-axis of the chart.

String
dataSource

The data source of the chart. When a chart is exported using the exportToSVG method or displayed in an ArcGIS Notebook, the data source will be read and rendered on the chart. Valid data sources include the following:

  • Paths to datasets, including local datasets, UNC paths, and service URLs
  • Arrow table objects
  • Layer or Table objects

Object
displaySize
[displaySize,...]

The size of the chart when exported using the exportToSVG method or displayed in an ArcGIS Notebook. The value must be specified as a two-item list in which the first item is the width of the chart and the second item is the height of the chart.

List

Свойства

СвойствоОписаниеТип данных
aggregation
(чтение и запись)

Задает статистические вычисления, которые применяются к значениям, располагающимся по оси x.

  • <None>Каждое значение будет нанесено на диаграмму независимо от перекрывающихся или повторяющихся значений.
  • COUNTОбщее количество записей определяется и применяется.
  • SUMСумма всех значений вычисляется и применяется.
  • MEANСреднее значение вычисляется и применяется.
  • MEDIANМедиана всех значений вычисляется и применяется.
  • MINМинимальное значение вычисляется и применяется.
  • MAXМаксимальное значение вычисляется и применяется.
String
dataSource
(чтение и запись)

Источник данных диаграммы. Когда диаграмма экспортируется с использованием метода exportToSVG или отображается в ArcGIS Notebook, источник данных считывается и отображается на диаграмме. К допустимым источникам данных относятся следующие:

  • Пути к наборам данных, включая локальные наборы данных, пути UNC, URL-адреса сервисов
  • Объекты таблицы Arrow
  • Объекты Layer или Table

Object
description
(чтение и запись)

Описание диаграммы. Текст диаграммы отображается внизу вида диаграммы.

String
displaySize
(чтение и запись)

Размер диаграммы при экспорте с помощью метода exportToSVG или при отображении в ArcGIS Notebook. Значение должно быть указано как список из двух элементов, в котором первый элемент является шириной диаграммы, а второй - высотой.

List
legend
(чтение и запись)

Свойства легенды диаграммы.

  • alignment—Определяет выравнивание легенды Опции выравнивания: left, bottom, top и right.
  • title - заголовок легенды.
  • visible - задает, будет ли легенда отображаться в виде диаграммы. True отображает легенду, False скрывает легенду.
Object
miniChartsPerRow
(чтение и запись)

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

Integer
movingAveragePeriod
(чтение и запись)

Размер периода скользящего среднего.

Integer
multiSeriesDisplay
(чтение и запись)

Задает тип отображения для линейчатой диаграммы с несколькими сериями.

  • sideBySideСерии отображаются рядом друг с другом.
  • stackedСерии отображаются в виде стека.
  • stacked100Серии отображаются в виде стека 100%.
  • gridСерии отображаются в виде сетки мини-диаграмм.
String
nullCategoryColor
(чтение и запись)

Шестнадцатеричное значение цвета для панели категорий null.

String
nullCategoryLabel
(чтение и запись)

Подпись x-axis для панели категорий null.

String
rotated
(чтение и запись)

Указывает, отображается ли диаграмма вертикально или горизонтально.

  • TrueДиаграмма отображается горизонтально.
  • FalseДиаграмма отображается вертикально.
Boolean
showMovingAverage
(чтение и запись)

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

  • TrueЛиния скользящего среднего отображается.
  • FalseЛиния скользящего среднего скрыта.
Boolean
showNullCategory
(чтение и запись)

Указывает, суммируются ли значения null с помощью дополнительной панели.

  • TrueОтобразится панель категорий null.
  • FalseБудет скрыта панель категорий null.
Boolean
showPreviewChart
(чтение и запись)

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

  • TrueПредварительный просмотр диаграммы отображается.
  • FalseПредварительный просмотр диаграммы не отображается.
Boolean
splitCategory
(чтение и запись)

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

String
title
(чтение и запись)

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

String
timeBinningProperties
(чтение и запись)

Свойства биннинга времени из класса TimeBinningProperties.

Object
type
(только чтение)

Строковое значение, обозначающее тип диаграммы.

String
theme
(чтение и запись)

Имя темы, которая будет применена к диаграмме.

String
x
(чтение и запись)

Имя поля для переменной оси x. Поле должно быть полем категории или даты. Если задана пустая строка, диаграмма будет соответствовать символам слоя.

String
xAxis
(чтение и запись)

Задает свойства оси x.

  • field - имя поля для переменной оси x. Поле должно быть полем категории или даты.
  • logarithmic - это свойство не поддерживается для класса Bar.
  • maximum – максимальная граница оси.
  • minimum – минимальная граница оси.
  • sort - задает метод сортировки, примененный к этой оси. ASC используется для сортировки по возрастанию, а DESC - для сортировки по убыванию. Пользовательский порядок сортировки можно указать, назначив список упорядоченных имен категорий.
  • title – подпись оси, отображаемая в диаграмме.
  • useAdaptiveBounds – определяет, отображается ли сетчатая диаграмма с адаптивными или фиксированными границами осей. True - оси с адаптивными границами. False - оси с фиксированными границами.
Object
y
(чтение и запись)

Имена полей для числовых полей. Для этого свойства необходимо задать одно имя поля или список имен полей.

String
yAxis
(чтение и запись)

Задает свойства оси y.

  • addGuide - Добавляет направляющую к оси при помощи объекта Guide.
  • field - имена полей для числовых полей. Для этого свойства необходимо задать одно имя поля или список имен полей.
  • logarithmic - это свойство не поддерживается для класса Bar.
  • maximum – максимальная граница оси.
  • minimum – минимальная граница оси.
  • sort - задает метод сортировки, примененный к этой оси. ASC используется для сортировки по возрастанию, а DESC - для сортировки по убыванию.
  • title – подпись оси, отображаемая в диаграмме.
  • useAdaptiveBounds – определяет, отображается ли сетчатая диаграмма с адаптивными или фиксированными границами осей. True - оси с адаптивными границами. False - оси с фиксированными границами.
Object

Обзор метода

МетодОписание
addToLayer (layer_or_layerfile)

Метод addToLayer добавляет объект диаграммы в представление слоя или таблицы.

exportToSVG (path, width, height)

Метод exportToSVG экспортирует диаграмму в формат SVG.

updateChart ()

Метод updateChart обновляет свойства диаграммы для синхронизации изменений между объектом и диаграммой, предварительно добавленной к слою.

Методы

addToLayer (layer_or_layerfile)
ПараметрОписаниеТип данных
layer_or_layerfile

The chart will be added to the target object. This argument can be a Layer or Table object.

Object

Добавление объекта диаграммы в слой или таблицу с использованием метода addToLayer часто является последним шагом после определения свойств диаграммы.

Добавьте диаграмму к существующему слою.

import arcpy

# Insert creation of chart object here
...

aprx = arcpy.mp.ArcGISProject("current")
map = aprx.listMaps()[0]
censusLayer = map.listLayers('Census Block Groups')[0]

# Add chart object to a layer
chart.addToLayer(censusLayer)
exportToSVG (path, width, height)
ПараметрОписаниеТип данных
path

The path where the chart will be exported in SVG format.

String
width

The width of the output graphic.

Integer
height

The height of the output graphic.

Integer

В некоторых случаях вам может понадобиться сохранить диаграмму в графический формат, который можно совместно использовать и просматривать вне ArcGIS Pro. Преимуществом экспорта в формат SVG является то, что графические элементы и текст сохраняются, как векторные объекты, каждый из которых можно изменять в программе, работающей с векторной графикой. Размер графики SVG также можно изменить на любой другой без потери качества.

Экспортируйте диаграмму, содержащую источник данных слоя проекта в файл .svg.

import arcpy

# Insert creation of chart object here
...

aprx = arcpy.mp.ArcGISProject('current')
censusLayer = aprx.listMaps()[0].listLayers('Census Block Groups')[0]

# Set data source of chart object to a layer in current project
chart.dataSource = censusLayer

# Save the chart to file with dimensions width=500, height=500
chart.exportToSVG('populationByState.svg', 500, 500)

Экспортируйте диаграмму, содержащую источник данных сервиса объектов в файл .svg.

import arcpy

# Insert creation of chart object here
...

featureServiceURL = r'https://services1.arcgis.com/hLJbHVT9ZrDIzK0I/arcgis/rest/services/CrimesChiTheft/FeatureServer/0'

# Set data source of chart object to a feature service URL
chart.dataSource = featureServiceURL

# Save the chart to file with dimensions width=800, height=600
chart.exportToSVG('theftsPerBeat.svg', 800, 600)
updateChart ()

Добавление объекта диаграммы в слой с использованием метода addToLayer часто является последним шагом после определения свойств диаграммы.

Вы также можете изменить свойства исходной диаграммы вместо создания новой Затем можно использовать метод updateChart для синхронизации любых изменений с диаграммой, добавленной к слою. Это позволяет отображаться изменениям, внесенным вами, на панели свойств Диаграмма и в виде диаграммы.

Используйте метод updateChart для синхронизации изменений свойств диаграммы в слое.

import arcpy

# Insert creation of chart object here
...

chart.addToLayer(myLayer)

# Further modification is necessary
chart.description = "Data from the U.S. Census Bureau"
chart.updateChart()

Пример кода

Создайте линейчатую диаграмму, используя сервис объектов, и экспортируйте ее в файл .svg.

import arcpy

url = r"https://services1.arcgis.com/hLJbHVT9ZrDIzK0I/arcgis/rest/services/CrimesChiTheft/FeatureServer/0"
chart = arcpy.charts.Bar(x="BEAT", aggregation="count", title="Chicago Thefts by Beat", dataSource=url)
chart.exportToSVG('bar.svg', width=800, height=500)