Most graduate schools and fellowships require three letters of recommendation and some require four.
Generally, letters of recommendation for graduate school and fellowships should come from people who have gone to graduate schools themselves. If you're applying for a Ph.D. program or a graduate fellowship, your letter writers should have Ph.D.'s and, ideally, they should be from people who can write about your potential to do research.
The most useful letters are from people with whom you've actually done research. However, everyone (graduate schools included) knows that it's unlikely that you can find three or four people with whom you've done research. One is good, two is great, more than that is very rare. Therefore, it's expected that some of your letters will be from faculty members from whom you've taken upper-division courses but have not done research. Ideally, those are courses that are related to your graduate school research interests, but there too you may only find one professor that fits the bill. Your clinic adviser may also be in a good position to write about your research potential.
In any case, you should endeavor to find letter writers who have gotten to know you well enough that they can write MORE than "Xerxes got an A in my class". In fact, even if you DIDN'T get an "A" in a class, a professor may still be able to write a useful letter. Here are some examples of the kinds of interactions that you may have had with a professor that make them a candidate for writing you a letter.
We recommend that you talk to your academic adviser (and/or someone else in the department with whom you have developed a good working relationship) to explore the possible set of letter writers. Once you have some candidates, go talk to them, let them know your graduate school plans, and ask them if they feel that they are in a position to write you a strong letter of recommendation. If they say "yes", that's great. But if they say "no" or they are uncertain, don't be offended. It's likely that they simply don't feel that they know you well enough to write a letter that will be helpful to you. It's best to move to see if you can find other letter writers. Again, chat with your adviser or mentor about this.
Normally, you should have provide your letter-writers with the information below by November 1. However, you may need to provide this information even earlier if you are applying for certain graduate fellowships (e.g., the NSF Graduate Research Fellowship). Talk to each letter-writer to find out when they need your information. Here's what you should provide: