Butterfly gardens require several things to be successful: plants, water, and the right gardening attitude.
We can easily create lists of plants that butterflies love. Consider planting Asters, Joe-Pye weed, Black-eyed Susans, Lantana, Butterfly Bush, Butterfly Weed, Liatris, Pentas, Coreopsis and Purple Coneflowers. These are gorgeous plants and butterflies will flock to them in large numbers.
Gardeners can easily provide water by soaking the ground in an area next to favorite plants or by having small dishes/birdbaths with water in the garden. By providing water, you’ll attract butterflies. If you have a small pond, lay a stick on the edge so one end is in the water and one end on the shore. This will provide an easy entrance way for both butterflies and frogs. It also looks more realistic than bare edged ponds.
And finally, we need to create a gardening attitude that says that in order to get those gorgeous butterflies, we need to feed the caterpillars that hatch out to be butterflies. It is OK to plant specific plants these immature insects require and it is OK if they chew them up. You have to have food in your garden for all phases of this creature if you want to attract them. The tip is to plant the following plants at the back of the garden so you wont see the damage. Plant Wild Asters, Clover, Hollyhocks, Lupines, Mallows, Marigolds, Milkweed, Nettles and Thistles, Parsley, Passionflower (in baskets) Plantain, Snapdragons, Sorrel, Turtlehead and Violets.