You could because graph API is just a REST API and therefore is callable from anything that can make HTTP calls, including Angular. However from a security standpoint this is probably going to be a bad idea unless you're using implicit flow or authorization code flow such that the angular app is making calls as the user actually running the app. In order to use the API you have to authenticate and, except for the current user, you'll need credentials. Using app credentials or a service account won't work as you'd need to pass the credential information to the Angular app so it could then make a call to the API directly. If you pass credentials to the client then nothing prevents someone from capturing that information and reusing it elsewhere. It is a security hole.
If you are using implicit flow/authorization code then the user is going to get an "approval" prompt to use their credentials and then you can use the authentication from the client app directly. Refer to the OAuth page for information on when to use each flow.
The downside is that Javascript-based HTTP isn't as neat as server side so you'll end up probably writing a bunch more code to get it to work correctly. However MS has some sample information to help you out here.