Сводка
Класс Chart задает диаграмму ArcGIS Pro. Этот класс позволяет создавать различные типы диаграмм, включая линейчатые диаграммы, линейные графики, точечные диаграммы, матрицы точечных диаграмм, графики КК, гистограммы, ящичковые диаграммы и диаграммы хронометража данных. Этот класс также может использоваться для определения названия, осей и других свойств диаграмм.
Описание
Диаграммы помогают представить информацию о пространственных объектах карты и отношениях между ними визуальным способом. Диаграммы также могут быть созданы для непространственных таблиц и могут отображать дополнительную информацию об объектах на карте или ту же информацию другим способом. Диаграммы дополняют карту, визуализируя информацию, которую можно просуммировать или извлечь из таблиц. В диаграмме вы можете быстро сравнить объекты и понять функциональные отношения между объектами, и таким образом визуализировать распределение, тренды и структуру данных, что трудно заметить иным способом.
Диаграммы могут быть созданы с использованием объекта Chart и добавлены в слой или таблицу в проекте ArcGIS Pro. Чтобы добавить диаграмму в слой в проекте, создайте объект Chart, настройте его свойства и свяжите объект Chart с arcpy.mp.Layer из arcpy.mp.ArcGISProject. Созданную таким образом диаграмму можно открыть в разделе Диаграммы под слоем на панели Содержание, когда этот проект открыт в ArcGIS Pro.
У объекта Chart есть свойство dataSource, которое можно использовать для создания диаграммы для источников данных, включая различные классы пространственных объектов, форматы таблиц и веб-слои (сервисы объектов). Диаграмму можно экспортировать в файл .svg (.svg) для визуализации.Chart объекты поддерживают богатое представление в Notebooks и могут быть визуализированы графически.
Синтаксис
Chart (name)
Parameter | Объяснение | Тип данных |
name | Имя диаграммы. Диаграмма должна иметь уникальное имя для каждого слоя. Имя используется только для идентификации; оно не отображается. | String |
Свойства
Владение | Объяснение | Тип данных | ||||||||||||||||||
bar (чтение и запись) | Задает дополнительные свойства, которые применяются к линейчатым диаграммам.
| Object | ||||||||||||||||||
boxPlot (чтение и запись) | Задает дополнительные свойства, которые применяются к ящичковым диаграммам.
| Object | ||||||||||||||||||
calendarHeatChart (чтение и запись) | Задает дополнительные свойства, которые применяются к календарным диаграммам интенсивности.
| Object | ||||||||||||||||||
dataClock (чтение и запись) | Задает дополнительные свойства, которые применяются к диаграмме хронометража данных.
| Object | ||||||||||||||||||
dataSource (чтение и запись) | Устанавливает источник данных диаграммы. Когда диаграмма экспортируется с использованием метода exportToSVG или отображается в ArcGIS Notebook, источник данных считывается и отображается на диаграмме. К допустимым источникам данных относятся пути к наборам данных, включая локальные наборы данных, пути UNC, URL-адреса служб и объекты arcpy.mp Layer. | String | ||||||||||||||||||
description (чтение и запись) | Задает описание диаграммы. Текст диаграммы отображается внизу вида диаграммы. | String | ||||||||||||||||||
histogram (чтение и запись) | Задает дополнительные свойства, которые применяются к гистограммам.
| Object | ||||||||||||||||||
legend (чтение и запись) | Задает свойства легенды диаграммы.
| Object | ||||||||||||||||||
line (чтение и запись) | Задает дополнительные свойства, которые применяются к линейным графикам.
| Object | ||||||||||||||||||
qqPlot (чтение и запись) | Задает дополнительные свойства, которые применяются к диаграммам КК.
| Object | ||||||||||||||||||
scatter (чтение и запись) | Задает дополнительные свойства, которые применяются к точечным диаграммам.
| Object | ||||||||||||||||||
scatterMatrix (чтение и запись) | Задает дополнительные свойства, которые применяются к матрицам точечных диаграмм.
| Object | ||||||||||||||||||
title (чтение и запись) | Задает заголовок диаграммы. Текст заголовка появляется в верхней части вида диаграммы и используется как надпись на панели Содержание на вкладке Содержание на вкладке По отображению. | String | ||||||||||||||||||
type (чтение и запись) | Задает тип создаваемой диаграммы. Допустимые опции включают следующее:
| String | ||||||||||||||||||
xAxis (чтение и запись) | Задает свойства оси x.
| Object | ||||||||||||||||||
yAxis (чтение и запись) | Задает свойства оси y.
| Object |
Обзор метода
Метод | Объяснение |
addToLayer (layer) | Добавляет к слою класс диаграмм. |
exportToSVG (path, width, height) | Экспортирует диаграмму в формат SVG. |
updateChart () | Обновляет свойства диаграммы для синхронизации изменений между классом и диаграммой, предварительно добавленной к слою. |
Методы
addToLayer (layer)
Parameter | Объяснение | Тип данных |
layer | Диаграмма будет добавлена к этому целевому объекту Layer. | Layer |
Тип данных | Объяснение |
Object | Класс Chart не будет изменен, но свойства класса будут добавлены к определению слоя, и будет создана диаграмма. |
После задания свойств диаграммы в классе Chart, обычно остается добавить диаграмму к слою. Для этого используйте метод addToLayer.
Задайте свойства диаграммы и добавьте ее к существующему слою.
import arcpy
aprx = arcpy.mp.ArcGISProject("current")
map = aprx.listMaps()[0]
censusLayer = map.listLayers('Census Block Groups')[0]
c = arcpy.Chart('MyChart')
c.type = 'bar'
c.title = 'Population by State'
c.xAxis.field = 'StateName'
c.yAxis.field = 'Population'
c.bar.aggregation = 'SUM'
c.xAxis.title = 'State'
c.yAxis.title = 'Total Population'
c.addToLayer(censusLayer)
exportToSVG (path, width, height)
Parameter | Объяснение | Тип данных |
path | Папка, в которой будет сохранена диаграмма в формате SVG. | String |
width | Ширина выходной графики. | Integer |
height | Высота выходной графики. | Integer |
В некоторых случаях вам может понадобиться сохранить диаграмму в графический формат, который можно совместно использовать и просматривать вне ArcGIS Pro. Преимуществом экспорта в формат SVG является то, что графические элементы и текст сохраняются, как векторные объекты, каждый из которых можно изменять в программе, работающей с векторной графикой. Размер графики SVG также можно изменить на любой другой без потери качества.
Создает диаграмму на основе слоя проекта и экспортирует ее на локальный диск.
import arcpy
aprx = arcpy.mp.ArcGISProject('current')
censusLayer = aprx.listMaps()[0].listLayers('Census Block Groups')[0]
c = arcpy.Chart('Population By State')
c.type = 'bar'
c.title = 'Population by State'
c.xAxis.field = 'StateName'
c.xAxis.title = 'State'
c.yAxis.field = 'Population'
c.yAxis.title = 'Total Population'
c.bar.aggregation = 'SUM'
# Set data source to a layer within current project
c.dataSource = censusLayer
# Save the chart to file with dimensions width=500, height=500
c.exportToSVG('populationByState.svg', 500, 500)
Создает диаграмму на основе слоя сервиса объектов и экспортирует ее на локальный диск.
import arcpy
featureServiceURL = r'https://services1.arcgis.com/hLJbHVT9ZrDIzK0I/arcgis/rest/services/CrimesChiTheft/FeatureServer/0'
c = arcpy.Chart('Chicago Thefts')
c.type = 'bar'
c.title = 'Chicago Thefts by Police Beat'
c.xAxis.field = 'BEAT'
c.bar.aggregation = 'COUNT'
# Set data source to a feature service URL
c.dataSource = featureServiceURL
# Save the chart to file with dimensions width=800, height=600
c.exportToSVG('theftsPerBeat.svg', 800, 600)
updateChart ()
Тип данных | Объяснение |
Object | Класс Chart никак не изменился. Скорее настройки класса синхронизируются с диаграммой, предварительно добавленной к слою. |
После задания свойств диаграммы в классе Chart, обычно остается добавить диаграмму к слою. Для этого используйте метод addToLayer. Однако вы можете захотеть изменить свойства диаграммы. Вместо того, чтобы начинать с нуля с новой диаграммой, вы можете изменить свойства исходного класса Chart, а затем использовать updateChart для синхронизации любых изменений с диаграммой, добавленной к слою. Это позволит отображаться изменениям, внесенным вами, на панели свойств Диаграмма и в виде диаграммы.
Используйте updateChart для синхронизации изменений свойств диаграммы со слоем.
chart.addToLayer(myLayer)
# Further modification is necessary
chart.description = "Data from the U.S. Census Bureau"
chart.updateChart()
Пример кода
Добавьте объект Chart в объект arcpy.mp Layer, чтобы добавить диаграмму к слою.
import arcpy
aprx = arcpy.mp.ArcGISProject("current")
map = aprx.listMaps()[0]
censusLayer = map.listLayers('Census Block Groups')[0]
c = arcpy.Chart('MyChart')
c.type = 'scatter'
c.title = 'Relationship between Percent Vacant (Housing) and Population Density'
c.description = 'This chart examines the relationship between housing vacancy and population density.'
c.xAxis.field = 'Per_Vacant'
c.yAxis.field = 'Pop_Density'
c.xAxis.title = 'Vacant Housing %'
c.yAxis.title = 'Population Density (per Sq. Mile)'
c.addToLayer(censusLayer)