You can attract butterflies to your yard by offering two categories of plants. The first is nectar-rich food plants. Not just annuals and perennials, but shrubs and trees, as well. (More on attracting butterflies) Second, they need “host” plants on which to lay their eggs.
Most butterflies as adults sip nectar, but their young offspring — caterpillars — can’t fly and must rely on a single plant to feed on through their larval stage.
Not just any plant will do. Different species of butterflies require different kinds of plants. For example, the host plants for Monarch caterpillars must be milkweeds. Female Common Buckeyes, on the other hand, won’t give milkweeds a second glance; they want snapdragons.
The right host plant is a matter of life or death for a caterpillar — if you pluck one off a parsley plant and place it on, say, an aster, it’ll starve to death. Even a change between two plant species within the same family may cause a caterpillar to stop eating.
Common butterfly species and their host plants