Item page
CodePen
Sandbox Download

Census tracts styled with a class breaks renderer displaying the level of high school education.

What is a class breaks style?

The class breaks style allows you to visualize numeric ranges of data. It involves defining meaningful ranges of numbers into two or more classes, representing each class with a unique symbol. You can use this style to answer questions beginning with how much?

While a class break’s symbol is distinct from another class break’s symbol, symbols are typically similar to one another in all aspects with the exception of one property, such as color.

Class breaks are a good choice to use with percents, rates, ratios and other normalized data because the area or length or size of the feature is irrelevant. By coloring all the features based on their membership in a range of values, it allows direct visual comparison of the features. This works best when the features’ area or length or size does not vary too much.

How a class breaks style works

This style is configured with a class breaks renderer. This renderer requires the following:

  1. A reference to a data value either from a field name, or an Arcade expression.
  2. A list of class break info objects that match a unique symbol with a range of expected values returned from the field or expression.

For visualizations with light basemaps or backgrounds, classes representing smaller numbers are typically represented with light colors and classes representing larger numbers are represented with dark colors.

There are several classification methods that can be employed in the creation of this renderer, but defining class breaks in code typically involves manual classification.

Classified visualizations are ideal for maps where predefined breaks hold meaning to the end user. The range for each class and the number of classes should be deliberate choices made after careful consideration.

Examples

Normalize by attribute

In most cases, you should normalize total counts for polygon data by a base value or polygon area.

Item page
CodePen
Sandbox Download
Census tracts are colored by the percentage of adults without a high school education.
Class breaks - normalize by attribute
20 collapsed lines
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<title>Class breaks - normalize by attribute</title>
<!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
<script type="module" src="https://js.arcgis.com/5.2/"></script>
<style>
html,
body {
height: 100%;
margin: 0;
}
</style>
</head>
<body>
<arcgis-map item-id="1627e9979c04437bb0751979f65ff191">
<arcgis-zoom slot="top-left"></arcgis-zoom>
<arcgis-expand slot="top-right" expanded>
<arcgis-legend></arcgis-legend>
</arcgis-expand>
</arcgis-map>
2 collapsed lines
</body>
</html>

Normalize by area

Arcade expression normalizing households by area
$feature.TOTHH_CY / AreaGeodetic($feature, 'square-miles');
Item page
CodePen
Sandbox Download
Census tracts are classified by households per square mile, calculated client-side with an Arcade expression.
Class breaks - normalize by area
20 collapsed lines
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<title>Class breaks - normalize by area</title>
<!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
<script type="module" src="https://js.arcgis.com/5.2/"></script>
<style>
html,
body {
height: 100%;
margin: 0;
}
</style>
</head>
<body>
<arcgis-map item-id="a21c77027bcc420583c7166585dafe99">
<arcgis-zoom slot="top-left"></arcgis-zoom>
<arcgis-expand slot="top-right" expanded>
<arcgis-legend></arcgis-legend>
</arcgis-expand>
</arcgis-map>
2 collapsed lines
</body>
</html>

Graduated point symbols in 3D

Scene Viewer does not support superimposed markers. As a workaround, emulate a single ring with a point symbol that has a transparent fill and an outline.
Item page
CodePen
Sandbox Download
Earthquakes on a globe are grouped into small, moderate, and high-magnitude classes to distinguish potential damage.
Class breaks - graduated point symbols in 3D
20 collapsed lines
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<title>Class breaks - graduated point symbols in 3D</title>
<!-- Load the ArcGIS Maps SDK for JavaScript from CDN -->
<script type="module" src="https://js.arcgis.com/5.2/"></script>
<style>
html,
body {
height: 100%;
margin: 0;
}
</style>
</head>
<body>
<arcgis-scene item-id="5dd5f6a5a66d49a8b6845aba818e7318">
<arcgis-zoom slot="top-left"></arcgis-zoom>
<arcgis-navigation-toggle slot="top-left"></arcgis-navigation-toggle>
<arcgis-expand slot="top-right" expanded>
<arcgis-legend></arcgis-legend>
</arcgis-expand>
</arcgis-scene>
2 collapsed lines
</body>
</html>

API support

  1. Color only
  2. Size variable creators only supported for points
  3. Size variable creators not supported in 3D