Scatter

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

Класс Scatter создает точечные диаграммы. Точечная диаграмма используется для отображения отношений между двумя числовыми переменными, где одна из них отображается по оси x, а другая – по оси y. Для каждой записи в диаграмме на пересечении значений двух переменных ставится отдельная точка. Когда получившиеся точки создают неслучайную структуру, это говорит о наличии взаимосвязи между двумя переменными.

Более подробно о точечных диаграммах в ArcGIS AllSource.

Обсуждение

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

Синтаксис

 Scatter (x, y, {splitCategory}, {sizeField}, {sizeMin}, {sizeMax}, {multiSeriesDisplay}, {miniChartsPerRow}, {showPreviewChart}, {showTrendLine}, {title}, {description}, {xTitle}, {yTitle}, {dataSource}, {displaySize}, {theme})
ПараметрОписаниеТип данных
x

Имя поля для переменной оси x. Поле должно быть числовым.

String
y

Имя поля для переменной оси y. Поле должно быть числовым.

String
splitCategory

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

String
sizeField

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

String
sizeMin

Минимальный размер точек пузырьковой диаграммы.

Integer
sizeMax

Максимальный размер точек пузырьковой диаграммы.

Integer
multiSeriesDisplay

Тип отображения для точечной диаграммы (рассеяния) с множественными сериями.

  • singleChartDisplay all series in a single chart.
  • gridDisplay each series in a separate mini chart.
String
miniChartsPerRow

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

Integer
showPreviewChart

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

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

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

Boolean
showTrendLine

Показывает, видна ли линия тренда в точечной диаграмме.

  • TrueDisplays the trend line.
  • FalseHides the trend line.
Boolean
title

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

String
description

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

String
xTitle

Заголовок оси х диаграммы.

String
yTitle

Заголовок оси y диаграммы.

String
dataSource

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

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

Object
displaySize
[displaySize,...]

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

List
theme

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

  • LightThe Light theme will be applied.
  • MediumThe Medium theme will be applied.
  • DarkThe Dark theme will be applied.
String

Свойства

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

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

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

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

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

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

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

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

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

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

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

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

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

  • singleChartВсе серии будут отображаться в виде одной диаграммы.
  • gridКаждая серия будет отображаться на отдельной мини-диаграмме.
String
showPreviewChart
(чтение и запись)

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

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

Определяет, будет ли видна линия тренда на точечной диаграмме.

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

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

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

Максимальный размер точек пузырьковой диаграммы.

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

Минимальный размер точек пузырьковой диаграммы.

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

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

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

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

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

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

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

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

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

Имя поля для переменной оси x. Поле должно быть числовым.

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

Определяет свойства оси x.

  • addGuide - Добавляет направляющую к оси при помощи объекта Guide.
  • field - имя поля для переменной оси x. Поле должно быть числовым.
  • invert — указывает, будет ли ось инвертирована. True инвертирует ось, а False не инвертирует ось.
  • logarithmic – определяет, является ли ось логарифмической. True отображает логарифмическую ось. False отображает линейную ось.
  • listGuides — список объектов Guide для оси.
  • maximum – максимальная граница оси.
  • minimum – минимальная граница оси.
  • removeGuide — удаляет направляющую, указанную аргументом объекта Guide.
  • sort - это свойство не поддерживается для класса Scatter.
  • title – подпись оси, отображаемая в диаграмме.
  • useAdaptiveBounds – определяет, отображается ли сетчатая диаграмма с адаптивными или фиксированными границами осей. True - оси с адаптивными границами. False - оси с фиксированными границами.
Object
y
(чтение и запись)

Имя поля для переменной оси y. Поле должно быть числовым.

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

Определяет свойства оси y.

  • addGuide - Добавляет направляющую к оси при помощи объекта Guide.
  • field - имя поля для переменной оси y. Поле должно быть числовым. При создании пузырьковой диаграммы, field дополнительно допускает список из двух элементов, где первый – поле оси y, и второй – поле пропорционального символа.
  • invert — указывает, будет ли ось инвертирована. True инвертирует ось, а False не инвертирует ось.
  • logarithmic – определяет, является ли ось логарифмической. True отображает логарифмическую ось. False отображает линейную ось.
  • listGuides — список объектов Guide для оси.
  • maximum – максимальная граница оси.
  • minimum – минимальная граница оси.
  • removeGuide — удаляет направляющую, указанную аргументом объекта Guide.
  • sort - это свойство не поддерживается для класса Scatter.
  • 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 AllSource. Преимуществом экспорта в формат 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()

Пример кода

Создайте точечную диаграмму и добавьте ее к слою в текущем проекте.


import arcpy

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

chart = arcpy.charts.Scatter(x="Per_Vacant", y="Pop_Density", xTitle="Vacant Housing %", 
                             yTitle="Population Density (per Sq. Mile)")

chart.addToLayer(censusLayer)