Michael,
Here is a sample for that:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no">
<title>Data-driven continuous color - 4.4</title>
<link rel="stylesheet" href="https://js.arcgis.com/4.4/esri/css/main.css">
<script src="https://js.arcgis.com/4.4/"></script>
<style>
html,
body,
#viewDiv {
padding: 0;
margin: 0;
height: 100%;
width: 100%;
}
</style>
<script>
require([
"esri/Map",
"esri/views/MapView",
"esri/layers/FeatureLayer",
"esri/renderers/SimpleRenderer",
"esri/symbols/SimpleFillSymbol",
"esri/widgets/Legend",
"dojo/domReady!"
], function(
Map, MapView, FeatureLayer, SimpleRenderer, SimpleFillSymbol, Legend
) {
var defaultSym = new SimpleFillSymbol({
outline: {
color: "lightgray",
width: 0.5
}
});
var defExp = ["STATE = 'LA'", "STATE = 'AL'",
"STATE = 'MS'", "STATE = 'TN'", "STATE = 'GA'",
"STATE = 'FL'", "STATE = 'SC'", "STATE = 'NC'"
];
function getMetricValue(evt) {
var result = evt.attributes.POP_POVERTY / 2;
return result;
}
var renderer = new SimpleRenderer({
symbol: defaultSym,
label: "% population in poverty by county",
visualVariables: [{
type: "color",
field: getMetricValue,
normalizationField: "TOTPOP_CY",
stops: [
{
value: 0.1,
color: "#FFFCD4",
label: "<10%"
},
{
value: 0.3,
color: "#350242",
label: ">30%"
}]
}]
});
var povLyr = new FeatureLayer({
url: "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/counties_politics_poverty/FeatureS...",
renderer: renderer,
outFields: ["*"],
popupTemplate: {
title: "{COUNTY}, {STATE}",
content: "{POP_POVERTY} of {TOTPOP_CY} people live below the poverty line.",
fieldInfos: [
{
fieldName: "POP_POVERTY",
format: {
digitSeparator: true,
places: 0
}
}, {
fieldName: "TOTPOP_CY",
format: {
digitSeparator: true,
places: 0
}
}]
},
definitionExpression: defExp.join(" OR ")
});
var map = new Map({
basemap: "gray",
layers: [povLyr]
});
var view = new MapView({
container: "viewDiv",
map: map,
center: [-85.050200, 33.125524],
zoom: 6
});
var legend = new Legend({
view: view,
layerInfos: [
{
layer: povLyr,
title: "Poverty in the southeast U.S."
}]
});
view.ui.add(legend, "top-right");
});
</script>
</head>
<body>
<div id="viewDiv"></div>
</body>
</html>