Краткая информация
Круговые диаграммы группируют данные в доли для отображения отношений части к целому.
Обсуждение
При создании объекта диаграммы необязательные аргументы для конструктора классов должны указываться с помощью имени аргумента; их нельзя указывать по позиции аргумента. См. раздел с примерами кодов, содержащий пример того, как можно задавать аргументы, используя ключевые слова.
Синтаксис
Pie ({categoryField}, {numberFields}, {splitCategory}, {miniChartsPerRow}, {showPreviewChart}, {groupingPercent}, {donutSize}, {sort}, {showDataLabels}, {dataLabelsDisplay}, {title}, {description}, {dataSource}, {displaySize})
Параметр | Описание | Тип данных |
categoryField | The field name of the category variable. | String |
numberFields | The field names for the numeric field or fields. Provide a single field name or a list of field names. | String |
splitCategory | A categorical field that adds a separate series for each unique value in the field. | 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.
(Значение по умолчанию — False) | Boolean |
groupingPercent | The percentage threshold for grouping smaller slices into a single Other category. Provide an integer between 0 and 100 that represents the maximum percentage value for determining which slices are grouped into the Other category. | Integer |
donutSize | The size of the hole when displaying a pie chart as a donut. Provide an integer between 0 and 100 that represents the size of the hole as a percentage relative to the total size of the pie. | Integer |
sort | Specifies the sort order for the slices in the chart.
| String |
showDataLabels | Specifies whether data labels will be displayed.
| Boolean |
dataLabelsDisplay | Specifies the format that will be used for the data labels.
| String |
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 |
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:
| 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 |
Свойства
Свойство | Описание | Тип данных |
categoryField (чтение и запись) | Имя поля для переменной категории. | String |
dataLabelsDisplay (чтение и запись) | Задает формат, который будет использоваться для подписей данных.
| String |
dataSource (чтение и запись) | Источник данных диаграммы. Когда диаграмма экспортируется с использованием метода exportToSVG или отображается в ArcGIS Notebook, источник данных считывается и отображается на диаграмме. К допустимым источникам данных относятся следующие:
| Object |
description (чтение и запись) | Описание диаграммы. Текст диаграммы отображается внизу вида диаграммы. | String |
displaySize (чтение и запись) | Размер диаграммы при экспорте с помощью метода exportToSVG или при отображении в ArcGIS Notebook. Значение должно быть указано как список из двух элементов, в котором первый элемент является шириной диаграммы, а второй - высотой. | List |
donutSize (чтение и запись) | Размер отверстия при отображении круговой диаграммы в виде кольца. Введите целое число от 0 до 100, представляющее размер отверстия в процентах по отношению к общему размеру круговой диаграммы. | Integer |
groupingPercent (чтение и запись) | Процентный порог для группировки меньших долей в одну категорию Other. Введите целое число от 0 до 100, представляющее максимальное процентное значение для определения того, какие доли будут сгруппированы в категорию Other. | Integer |
legend (чтение и запись) | Свойства легенды диаграммы.
| Object |
miniChartsPerRow (чтение и запись) | Число минидиаграмм, которые будут отображаться в строке. Число строк будет определяться количеством серий, деленным на значение miniChartsPerRow. | Integer |
numberFields (чтение и запись) | Имена полей для числовых полей. Укажите одно имя поля или список имен полей. | String |
showDataLabels (чтение и запись) | Определяет, будут ли отображены подписи к данным.
| Boolean |
showPreviewChart (чтение и запись) | Показывает, будет ли отображаться предварительный просмотр диаграмм в гриде.
| Boolean |
sort (чтение и запись) | Определяет порядок сортировки долей диаграммы.
| String |
splitCategory (чтение и запись) | Поле категории, которое добавляет отдельные серии для каждого уникального значения в поле. | String |
theme (чтение и запись) | Задает имя темы, применяемой к диаграмме. | String |
title (чтение и запись) | Заголовок диаграммы. Текст заголовка появляется в верхней части вида диаграммы и используется как надпись на панели Содержание на вкладке Содержание на вкладке По отображению. | String |
type (только чтение) | Строковое значение, обозначающее тип диаграммы. | String |
Обзор метода
Метод | Описание |
addToLayer (layer_or_layerfile) | Добавление объекта диаграммы в слой или в автономную таблицу. |
exportToSVG (path, width, height) | Экспортирует диаграмму в формат SVG. |
updateChart () | Обновляет свойства диаграммы для синхронизации изменений между объектом и диаграммой, предварительно добавленной к слою. |
Методы
addToLayer (layer_or_layerfile)
Параметр | Описание | Тип данных |
layer_or_layerfile | The chart will be added to the target object. The layer_or_layerfile argument can be a Layer or a Table object. | Object |
Обычно последним шагом после задания свойств диаграммы является добавление объекта диаграммы в слой или в таблицу, с помощью метода addToLayer.
Добавьте диаграмму к существующему слою.
import arcpy
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
aprx = arcpy.mp.ArcGISProject('current')
censusLayer = aprx.listMaps()[0].listLayers('Census Block Groups')[0]
# Set data source of chart object to a layer within current project
chart.dataSource = censusLayer
# Save the chart to file with dimensions width=500, height=500
chart.exportToSVG('populationByState.svg', 500, 500)
Экспортируйте диаграмму, содержащую источник данных сервиса объектов в файл .svg.
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 для синхронизации изменений свойств диаграммы в слое.
chart.addToLayer(myLayer)
# Further modification is necessary
chart.description = "Data from the U.S. Census Bureau"
chart.updateChart()
Пример кода
Создайте круговую диаграмму из слоя и экспортируйте диаграмму в файл .svg.
import arcpy
lyr = arcpy.mp.ArcGISProject("current").activeMap.listLayers("nyc_noise_complaints")[0]
pie = arcpy.charts.Pie(categoryField="Complaint_Type", title="Noise Complaints by Type", dataSource=lyr)
pie.exportToSVG('pie.svg', width=1000, height=800)