On maps where they're available, not at war with your civ, and have access to your site, elves will basically always show up after the first winter; humans, drows, and so on are very much wealth-dependent. Beyond checking a civ's actual presence on the map, you should also check whether they have access to your site. If you're on an isolated island or mountain valley for example, there's a good chance that the only traders you'll see will be from your home civ, in this case dwarves; beyond that you won't receive any attacks, except from megabeasts/titans/FBs/etc.
When you're looking at the world map and choosing your embark site, you can press TAB (that's what works for me), which will cycle through a series of information screens; one will list a bunch of races, which lists which races have access to your embark site. If they have a series of red dashes that simply means they're hostile; goblins, for example, are typically hostile. Civs listed with 'WAR' beside them are only of note if they're races that would otherwise be friendly, like humans/elves/etc.
If on the rare occasion you see 'No Trade,' that typically means a civ has access to your site, but won't show up because the environment is hazardous to their health; e.g. too hot or too cold. I only have limited experience with this feature; as a dwarf my home civ would always show up despite being listed as 'No Trade,' though elves would not. I didn't survive past that.