Growing plants to serve as food for caterpillars is probably the most important aspect of a real butterfly garden. I know the idea of this is not overly appealing but if you want butterflies, then there have to be host plants for their caterpillars. If not in your garden, then at least near-by. Monarch butterflies renowned for their beauty and prodigious seasonal migrations, feed exclusively on milkweeds. Here is a listing of some plants that can serve as host plants and the type of butterflys they will attract.
Milkweed Monarch
Violets, Pansy Fritillaries
Pearly Everlasting American Painted Lady
Willows, Elm, Paper Birch Mourning cloaks
Apple, Ash, Aspen, Birch, Green Ash, Poplar, Willow Tiger Swallowtail
Blueberry, Dogwood, Sumac, Viburnum Spring Azure Oaks, Sumacs Red-Banded Hairstreak
Asters Pearl Cresent
Sedum, Snapdragon, Verbena Buckeye
Willows, Poplars Viceroy
Blueberries Pink Edged Sulphur
Here is a list of the nectar plants that different butterflies like to feed on.
NECTAR PLANTS
Perennials -
Black Eyed Susan, Purple coneflower,Thistle, Coreopsis, Milkweed, Phlox, Shasta Daisy, Sedum, Liatris
Annuals -
Heliotrope, Zinnia, Aster, Sunflower, Verbena, Salvia, Lantana, Cosmos, Zinnias, Ageratum, Nasturtium, Morning Glory, Marigolds.and Cosmos.
Shrubs & Trees -
Lilac, Honeysuckle, Apple Trees, Blueberry