Let’s learn how to use patch colors to visualize data and create meaningful environments.
Using Patch Color to Show Data¶
Basic color assignment:
ask patches [
set pcolor green ; All patches green
]
ask patch 0 0 [ ; Center patch only
set pcolor red
]
ask patches with [pxcor > 0] [ ; Right half of world
set pcolor blue
]
Color based on data:
ask patches [
; Color based on distance from center
let distance-from-center sqrt (pxcor ^ 2 + pycor ^ 2)
set pcolor scale-color red distance-from-center 0 10
]
The scale-color
command creates gradients:
scale-color red value 0 10
makes a red gradient from light (value=0) to dark (value=10)- High values = dark red, low values = light red
Creating Environmental Gradients¶
Temperature gradient (hot in south, cold in north):
ask patches [
set temperature pycor + 10 ; Temperature based on y-coordinate
set pcolor scale-color red temperature 0 20 ; Red = hot, pink = cold
]
Resource distribution (rich center, poor edges):
ask patches [
let distance-from-center sqrt (pxcor ^ 2 + pycor ^ 2)
set resources 100 - distance-from-center * 5
if resources < 0 [ set resources 0 ]
set pcolor scale-color green resources 0 100 ; Green = rich, black = poor
]
Random patchy resources:
ask patches [
set resources random 100
set pcolor scale-color brown resources 0 100 ; Brown gradient
]
Activity 1: Heat Map¶
Goal: Create a temperature gradient using patch colors
to setup-heat-map
ask patches [
; Create temperature based on distance from center
let distance-from-center sqrt (pxcor ^ 2 + pycor ^ 2)
set temperature 100 - distance-from-center * 3
if temperature < 0 [ set temperature 0 ]
; Color patches based on temperature
set pcolor scale-color red temperature 0 100
]
end
Try different patterns:
- East-west gradient:
set temperature pxcor + 15
- Diagonal gradient:
set temperature (pxcor + pycor) + 20
- Multiple hot spots: Create several high-temperature centers