Select the color which matches the steps before filenames ((non-)login and (non-)interactive), then follow that arrow the rest of the way. There's more colors in Bash because Bash makes a distinction between remote and local shells.
Another way to look at the same data for Zsh (note: $ZDOTDIR will be used instead of $HOME if it's defined at any step along the way):
| File | neither | interactive | login | both |
|---|---|---|---|---|
/etc/zshenv |
x | x | x | x |
${ZDOTDIR:-$HOME}/.zshenv |
x | x | x | x |
${ZDOTDIR:-$HOME}/.zprofile |
x | x | ||
${ZDOTDIR:-$HOME}/.zshrc |
x | x | ||
${ZDOTDIR:-$HOME}/.zlogin |
x | x | ||
${ZDOTDIR:-$HOME}/.zlogout |
x | x |
One confusion on the Bash side of the diagram is that you see branching paths into ~/.profile, ~/.bash_profile and ~/.bash_login. Bash will use for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and execute only the first one that exists and is readable.