Successful butterfly gardening is about more than just providing the flowers. Food, shelter and water must be readily available. The female butterfly will lay her eggs on host plants so that when they hatch, the caterpillar will have plenty to eat. Caterpillars are voracious eaters so be sure to plant plenty of host plants. Host plants are specific to each butterfly species. Monarchs are attracted to milkweed while Black Swallowtails prefer fennel, dill and parsley. Research which butterflies are common in your area and plant the host plant that the females lay their eggs on. Female butterflies will choose to not lay eggs if they don't have the right plant for the larvae to eat. Last but not least, provide water for them to drink by placing a bowl of wet sand in the area or make a mud puddle in a wet area of your garden. You can find a list of flowers, both annuals and perennials, along with host plants on my website, South Carolina Garden Guru, here "Butterfly Garden".