How you appear to other people might be the problem, and I mean more than just physical attractiveness.
Ask yourself, do you look like someone a guy would ask out?
When a guy looks at you, do they see someone with good posture, confidence, and a love of life?
Have you given guys the opportunity to ask you out?
You expect guys to do the asking, but you have to give them reason to ask you out. Try talking to more guys, if he's initially interested in you then he won't let you get away without asking for your number. If he's not, be happy with yourself for taking action.
Here's a secret to making guys talk to you: stare at them. If he notices you and is interested, he'll walk over (and his ego will brainwash him into thinking it was him who initiated the interaction, we know better though). If he isn't interested, he'll just continue whatever he's doing and won't think twice about it, his loss. Just try this on the next guy you find attractive.