We have been gardening for butterflies for more than 10 years. Whenever you pick up an article about attracting butterflies, it seems that the articles are always promoting flowering plants to attract butterflies. You do need flowers to attract butterflies and keep them in your yard, I think it is much more important to have the host plants for their caterpillars. If you plant the caterpillar host plants, I guaranty that you will have a constant presence of butterflies.
If you live in Texas, here are what I think are the best host plants to attract butterflies:
1. Passionvine - Grow this vine on a fence or trellis. If you are in Dallas/Fort Worth, plant a hardy version for zone 8 such as Maypop. Some nurseries sell more tender varieties suited only for zones 9 or 10, and they won't make it through the winter. These plants attract Gulf Fritillaries and Zebra. I always have a ton of Gulf Fritillaries with these plants, but I have not yet seen a Zebra. An added bonus of this plant are the beautiful flowers that smell like grape Kool-Aid.
2. Fennel and Dill - These herbs attract Black Swallowtails like crazy. It is easy to find the little green eggs all over the plants. As an added bonus, you can use these herbs in your cooking.
Young black swallowtail caterpillar
Mature black swallowtail caterpillar
Black swallowtail egg
3. Rue - This is another bitter herb that is sometimes used in salads. You have to be careful in handling the leaves because the oils in the leaves can often irritate the skin. However, Giant Swallowtails like to lay their eggs on this egg. The Giant Swallowtail is, in fact, giant. And it is a wonderful visitor to the garden.
Mature giant swallowtail caterpillar
You will also likely receive visits from butterflies that lay eggs on indigenous trees and bushes that are naturally plentiful. Here are a few examples:
Butterfly Host Plant
Cabbage white cabbage, broccoli
Tiger swallowtail cherry trees
Question marks elm
Banded hairstreak oak
In Dallas, you are going to get migrating Monarchs in April and late September. You can plant milkweed for migrating monarchs to lay eggs, but I would not expect a resident population of Monarchs. I have planted milkweed, but I have not been able to get the monarchs to stay around.
In terms of flowering plants that I like to use in my garden to attract butterflies, here are my favorites:
1. Butterfly bush
2 Catmint - Walker's Low
3. Purple coneflower - Magnus
4. Shasta Daisy - Becky
5. Gayfeather / Liatris
8. Blue hyssop
9. Veronica speedwell - Sunny Border Blue