I've been trying to figure out good companion plants for gardening, but reading that sort of information in books and on websites is difficult. Good and bad companions make complex webs of friendliness and animosity, and it's hard to keep them all straight without being able to see all the relationships together!

So, I started making this tool to quickly see good and bad relationships between common garden fruits and veggies.

a work in progress - please let me know if anything goes wrong!

[p5.js source code]

GREEN lines indicate good companions, RED lines indicate bad companions. There are lots of reasons for good and bad relationships between plants. Sometimes similar plants like Tomatoes and Potatoes can share diseases, and so they are best kept apart. Onions and Chives are friendly with a lot of plants because they are good at keeping away pests. Fennel, as you can see, is universally disliked, because it produces strong chemicals that inhibit the growth of others.

When thinking about companion plants, consider the shape of the plants as well. Corn, Squash, and Beans are the famous Three Sisters - they work so well together partly because their shapes are complimentary. The tall Corn supports the climbing Bean, and the explorative Squash shades the soil and covers the ground. Their roots also drink from different depths and entangle in a friendly way.